CIBC Wiki
cibc_wikidb
http://cibcwiki.sci.utah.edu/cibc/wiki/index.php/Main_Page
MediaWiki 1.33.1
first-letter
Media
Special
Talk
User
User talk
CIBC Wiki
CIBC Wiki talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Exec
Exec Talk
Collab
Collab Talk
Main Page
0
1
1
2005-06-28T21:08:36Z
MediaWiki default
0
wikitext
text/x-wiki
Wiki software successfully installed.
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help.
2
1
2005-06-28T22:43:02Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,
Engineering, and Dissemination Wiki! ==
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help.
3
2
2005-06-28T22:44:27Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development, Engineering, and Dissemination Wiki! ==
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help.
4
3
2005-06-28T22:45:18Z
Erikj
2
/* Welcome to the Biomedical Software Development, Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help.
5
4
2005-06-30T17:23:19Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
Try this: link to a [[new page]].
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help.
6
5
2005-06-30T17:27:01Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
Try this: link to a [[Experimental Page]].
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help.
940
6
2005-06-30T20:03:18Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
<img scr="images/nih-ncrr-sci_logobar.gif"><br>
Try this: link to a [[Experimental Page]].
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help.
941
940
2005-07-01T17:35:56Z
155.98.18.40
0
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
<img src="images/nih-ncrr-sci_logobar.gif"><br>
Try this: link to a [[Experimental Page]].
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help.
942
941
2005-07-01T17:59:34Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
A picture: [[Image:nih-ncrr-sci_logobar.gif|NIH NCRR and SCI Logos]]
Try this: link to a [[Experimental Page]].
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help.
943
942
2005-07-01T21:07:57Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar.jpg|NIH NCRR and SCI Logos]]<br>
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help.
944
943
2005-07-01T22:54:46Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar.jpg|NIH NCRR and SCI Logos]]<br>
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help..
945
944
2005-07-19T23:23:01Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar.jpg|NIH NCRR and SCI Logos]]<br>
[[Events]]
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help..
947
945
2005-07-19T23:29:31Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar.jpg|NIH NCRR and SCI Logos]]<br>
== [[Events]] ==
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help..
948
947
2005-07-27T20:46:40Z
Erikj
2
/* [[Events]] */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar.jpg|NIH NCRR and SCI Logos]]<br>
== [[Events]] ==
[[NCRR NIBIB PI Meeting June 22-23 2005]]
== Wiki Help ==
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help..
949
948
2005-07-27T20:59:32Z
Erikj
2
/* Wiki Help */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar.jpg|NIH NCRR and SCI Logos]]<br>
== [[Events]] ==
[[NCRR NIBIB PI Meeting June 22-23 2005]]
== Wiki Help ==
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
950
949
2005-08-02T17:53:35Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
== [[Events]] ==
[[NCRR NIBIB PI Meeting June 22-23 2005]]
== Wiki Help ==
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
952
950
2005-08-02T18:05:55Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
== [[Events]] ==
[[NCRR NIBIB PI Meeting June 22-23 2005]]
== Wiki Help ==
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
953
952
2005-12-15T21:03:46Z
Erikj
2
/* [[Events]] */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
== [[Events]] ==
[[NCRR NIBIB PI Meeting June 22-23 2005]]
== Wiki Help ==
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
954
953
2005-12-15T21:04:50Z
Erikj
2
/* [[Events]] */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
== [[Events]] ==
[[NCRR NIBIB PI Meeting June 22-23 2005]]
== Wiki Help ==
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
955
954
2005-12-15T21:05:59Z
Erikj
2
/* [[Events]] */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
== [[Events]] ==
[[NCRR NIBIB PI Meeting June 22-23 2005]]
== Wiki Help ==
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
956
955
2005-12-15T21:06:25Z
Erikj
2
/* [[Events]] */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
== [[Events]] ==
[[NCRR NIBIB PI Meeting June 22-23 2005]]
== Wiki Help ==
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
957
956
2005-12-15T21:07:38Z
Erikj
2
/* Center Management */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[CIBC:Projects | Current and upcoming software projects ]]
[[CIBC:Project:Timelines | Project and Developers' timelines ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
== [[Events]] ==
[[NCRR NIBIB PI Meeting June 22-23 2005]]
== Wiki Help ==
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
958
957
2005-12-15T21:08:20Z
Erikj
2
/* [[Events]] */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[CIBC:Projects | Current and upcoming software projects ]]
[[CIBC:Project:Timelines | Project and Developers' timelines ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
== [[Events]] ==
[[NCRR NIBIB PI Meeting June 22-23 2005]]
== Wiki Help ==
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
959
958
2005-12-15T21:08:41Z
Erikj
2
/* [[Events]] */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[CIBC:Projects | Current and upcoming software projects ]]
[[CIBC:Project:Timelines | Project and Developers' timelines ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
===Discussion===
[[CIBC:Discussion:MemoryEfficiency| Memory efficiency]]
== [[Events]] ==
[[NCRR NIBIB PI Meeting June 22-23 2005]]
== Wiki Help ==
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
Experimental Page
0
935
3072
2005-06-30T17:23:52Z
Erikj
2
This is a test new page.
wikitext
text/x-wiki
This is a new page.
New page
0
936
3073
2005-06-30T17:26:30Z
Erikj
2
New page moved to Experimental Page
wikitext
text/x-wiki
#REDIRECT [[Experimental Page]]
File:Nih-ncrr-sci logobar.jpg
6
937
3074
2005-07-01T22:52:08Z
Erikj
2
NIH NCRR and SCI logos.
wikitext
text/x-wiki
NIH NCRR and SCI logos.
Events
0
938
3075
2005-07-19T23:25:49Z
Erikj
2
wikitext
text/x-wiki
[[NCRR NIBIB PI Meeting June 22-23 2005]]
NCRR NIBIB PI Meeting June 22-23 2005
0
939
946
2005-07-19T23:27:41Z
Erikj
2
wikitext
text/x-wiki
Bill Lorensen gave an invited presentation at the annual NIH NCRR/NIBIB Principal Investigator's Meeting in Bethesda, June 22-23. 2005. Chris Johnson, Director of the SCI Institute at Utah organized the session. After Bill's presentation, Chris, Bill and Bret Peterson (NIH NCRR) participated in a panel on software engineering and dissemination. The talk and panel were followed by active audience participation, showing the high level of interest in software at many of the NCRR P41 sites.
Bill's talk was called: "Open, Distributed and Collaborative Software Development." His panel position was called: "Open Software Engineering."
951
946
2005-07-19T23:38:12Z
Erikj
2
wikitext
text/x-wiki
Bill Lorensen gave an invited presentation at the annual NIH [http://www.ncrr.nih.gov NCRR]/[http://www.nibib1.nih.gov NIBIB] Principal Investigator's Meeting in Bethesda, June 22-23. 2005. Chris Johnson, Director of the [http://www.sci.utah.edu SCI Institute] at Utah organized the session. After Bill's presentation, Chris, Bill and Bret Peterson (NIH NCRR) participated in a panel on software engineering and dissemination. The talk and panel were followed by active audience participation, showing the high level of interest in software at many of the NCRR P41 sites.
Bill's talk was called: [[Media:LorensenNCRR.ppt|"Open, Distributed and Collaborative Software Development."]] His panel position was called: [[Media:LorensenNCRRPanel.ppt|"Open Software Engineering."]]
3076
951
2005-08-24T18:02:37Z
Erikj
2
wikitext
text/x-wiki
Bill Lorensen gave an invited presentation at the annual NIH [http://www.ncrr.nih.gov NCRR]/[http://www.nibib1.nih.gov NIBIB] Principal Investigator's Meeting in Bethesda, June 22-23. 2005. Chris Johnson, Director of the [http://www.sci.utah.edu SCI Institute] at Utah organized the session. After Bill's presentation, Chris, Bill and Bret Peterson (NIH NCRR) participated in a panel on software engineering and dissemination. The talk and panel were followed by active audience participation, showing the high level of interest in software at many of the NCRR P41 sites.
Bill's talk was called: [[Media:P41_meeting_peterson.ppt|"Open, Distributed and Collaborative Software Development."]] [[Media:P41_meeting_peterson.pdf|[PDF]]]
File:Nih-ncrr-sci logobar2.jpg
6
940
2138
2005-08-02T18:04:17Z
Erikj
2
NIH NCRR and SCI Logos.
wikitext
text/x-wiki
NIH NCRR and SCI Logos.
File:P41 meeting peterson.pdf
6
941
3077
2005-08-03T17:01:08Z
Erikj
2
P41 Meeting PDF.
wikitext
text/x-wiki
P41 Meeting PDF.
CIBC:Core:BioPSE
0
944
3078
2005-12-15T21:10:30Z
Erikj
2
wikitext
text/x-wiki
== Background ==
This section of the Wiki is dedicated to describing the CIBC goals for developing the software architecture and infrastructure. The [http://internal.sci.utah.edu/proposals/nih05/ grant text ] contains a starting point for this discussion so please read that for an introduction.
== Requirements list ==
For each collaboration, list the technical specifications of the software needs from the specific perspectives of: a) control structure, b) data representation, c) user interface, and d) algorithms. Try and convey where there are existing solutions and where there is great need for new or better solutions. If possible, list where SCIRun covers any of these needs now. Try and be clear about which parts of the technical needs are development projects, i.e., the methods are known and just need implementation, and which parts include significant research.
[[Technical requirements driven by collaborations|Requirements list]]
== Paring Down of SCIRun==
In an effort to reduce the size and complexity of SCIRun, in November, 2005, we began a project to trim down the code, increase its robustness, and enhance portability. See the link before for details.
[[Paring Down SCIRun|Details of paring down SCIRun]]
== Agenda Next Management Meeting ==
[1] How can we better separate our SCIRun development from the rest of SCIRun. (a) Could we branch of our own development tree, and then only distribute our own tree which we then could make far more lightweight? (b) Could we fix the few things in the Core and then use our own packages to customize SCIRun (What needs to be done to the Core to make it work sufficiently for us to work with) (c) do we want to keep all developments in the same tree? Do we know what NCRR-exec wants in this regard?
[2] What do we do with the BioPSE package? It has a lot of not well maintained code. Currently Frank is updating the FEM stuff, but that actually should go into the Core. Who is using the BioPSE package, apart from the FEM stuff I don't see many of the collaborations using it.
[3] I am working with Micheal on cleaning up some of the Core and fixing some problems. I would propose to go ahead with the Algorithm/Module separation. It is not such a big project and will improve the Core in terms of usability and will formally separate Core and Dataflow in a nice way. I talked to Micheal and he seems to agree it is not such a huge effort and should be easily doable.
[4] Topics we discussed last time but did not get to decide on: What is the future of dynamic compilation? How do we set up regression testing? What do we do with the memory management? My suggestion : first do algorithm separation => then regression testing on an algorithm basis => then deal with dynamic compilation => then deal with the memory management issues.
[5] I talked to Micheal and McKay and they are looking into tracing the problems with the viewer, which is still crashing. McKay will get back to me on how to get better stack traces on my Mac and how to setup my build to contain more debugging information, so he can use that information when I succeed in crashing SCIRun again (I guess I have become an expert in crashing SCIRun :)). I will ask Frank as well to build with a stacktrace option, so feedback to the developers will be more complete. This way we could collect more SIGBUS crashes and at least pinpoint the functions where this occurs, which be possibly the best help to the developers. I guess this would be my suggestion to further improve debugging.
[6] When do we expect to have a new stable version? I was not really impressed with 1.24.2 as it crashes in the viewer a lot, which is not a good sign for a visualization package. Hence we haven't released a stable version since last April. We still have collaborators, so perhaps before we remove the dynamic compilation we could at least have a kind of 'beta' release, the collaborators can download for the few projects in which we are already attempting to use SCIRun.
[7] I am planning to write some modules with Frank to smooth a linear model into a quadratic or hermitatian mesh. Using a C1 constraint and a local curvature threshold we hope to make a module that can translate models like the Utah torso into higher order versions. The reason is that there are no good tools for this out there and that such a scheme is easy publishable. Although it might not directly impact the current collaborations, if we have tools for making models higher order it will get us a publication and we could present it at a conference and will give SCIRun another feature other software packages do not have. Furthermore, we could apply these techniques in Bruce's modeling of the heart. Visualy the higher order models look more impressive too. Any suggestions?
[8] CMake/Dart demonstration.
[9] Interpolation/Mapping/Distance. It would be nice to extend the basis classes with a projection operator to find the point to the closest to the element. Similarly it would be nice to have a boundaing box (A lot of the algorithms make use of a bounding box to see in which grid an element is located, this does not work anymore as the estimated bounding box is flawed). Interpolating between to close surfaces does not seem to work as well. Currently a linear interpolation is used if the node where we need an interpolation is inside the volume, however if it is not we do a closest point search. The latter will be flawed in certain geometrical circumstances, e.g. a triangle can be right underneath the interpolation point, but its center can be further away then a neighboring triangle. This leads to confusing situations. Functions like direct interpolate do not use the new basis functions. Hence we should start thinking on how to improve this and make the interpolation/mapping functions more coherent.
Paring Down SCIRun
0
945
3079
2005-12-15T21:11:48Z
Erikj
2
wikitext
text/x-wiki
The goal of this process is to reduce the size and complexity of the SCIRun infrastructure in order to make it more robust and flexible. There will be some loss of generality in the process, but this is a fair price to pay for the advanrages.
== Remove dead code ==
* identify parts of the code that are not used
* find functions that have been replaced and should be retired
==Remove or minimize dynamic compilation==
* is essential for real time parsing of equations and commands in TransformData module
* what about leaving in that module but remove it from all other modules
* over time, replace the functionality we used in TransformData
* make scientific data calculator a student project sometime
* how will removal affect compilation time? hard to tell.
* todo: make a plan for how to remove this before they start.
* the cost will be in the range of types we can handle, and overhead in type checking
* how can we limit the data types we want to support and make a version of SCIRun
** we should remove unnecessary field classes like ITKImageField and ITKLatVolField
** we should minimize the number of mesh types we need
* virtual functions will require a more uniform interface for Field/Mesh classes
==Move from configure/make to cmake==
* cmake buys us a lot of portability because it works with local tools to replace configure/make operation
* medium to large size project
* would get us into the open software club
* logical players to work on this are Dav and Josh
* works with native tools to perform configure steps and make the program
==Reduce third-party library dependencies==
* this project already underway, e.g., we are getting rid of Xerces and Xalan
* Image Magik and mpeg are also things we can likely do without
** It would be great to maintain PNG support, as PPM does not export well to any tool most people are familiar with (--Jeroen)
* we are behind on ITcl and it remains a problem that we have to change it to work with SCIRun threads
* continue to check all third party libraries to see if we can remove dependencies
==Provide improved development environment==
* documentation is key, including documented sample code, tutorial for module creation, type names and descriptions
* how can we connect to threads at debug time and track bugs?
* could we organize the code into more libraries that people link to so that changes in a single header file, for example, require complete new builds from all developers?
* are there better tools? Tau, SGI has released open source version of CaseVision
* some way to slow down and query a dataflow network? Or generate a log of all steps?
* Do we have a set of symantic rules about data flow so that people have a better idea of what the system is doing and what we can expect it to do? Formal set of rules would help (documentation)
==Wrapping of ITK functionality==
* not used a lot and some trouble to maintain
* Darby will remove the wrapping
== Memory management ==
* still using Steve's malloc code
* goal of that is to manage allocations in a way that reduces fragmentation
* this gets messy when there are different systems that link together
* we should at least catch allocation errors and report them to user in a clear way
== Module/Algorithm separation ==
* if we are redoing dynamic compilation, we just as well move the field algorithms out of the modules and into proper classes
* this would remove all dynamically compiling code from GUI and into the Core libraries
* allows for more flexible GUI building and cleaner separation of the code
* makes code easier to reuse
== Jeroen's List==
Listed by priority:
=== Harmonize Mesh classes ===
We should harmonize the Mesh classes. Functions like get_center should use the basis functions, volume and interpolation schemes as well. Furthermore a lot of meshes are missing essential functions due to which dynamic compilation often fails, often calls with certain iterators are not handled. For instance TriSurfMesh is missing quite some functions, which is hindering progress in the collaborations. Completing them would solve already some problems. Then there are functions that were needed for the FEM, these can go and should be removed from TetVolMesh, HexVolMesh and TriSurfMesh. Likewise there are functions implemented in some mesh classes and not in others, we should try to remove these as much as possible.
Update: We identified a series of functions that are missing and Micheal will be working on it.
=== Bug in Viewer ===
We should track down the synchronizarion errors in ViewSlices and Viewer. I was demonstrating Alex (one of Rob's students) SCIRun and we had really frequent crashes. Basically SCIRun gets into a situation where several threads are waiting for each other and the whole program hangs or the second situation is that I get a SIGBUS in the viewer/openGL thread. The errors occur more frequently when I have a different process running the background doing a lot of work. This will influence the multi threading and basically the order in which threads are served. Since this leads to problems my suspicion goes to a not-thread safe implementation of some data. This makes using BioImage really hard. I have been hearing and experiencing a lot of problems with this. Not only is the current version affected, 1.24.2 is suffering from this problem as well. Since a large focus is on visualization we need to fix this problem, as we need to be able to use SCIRun while we restructuring SCIRun, the last real stable version was 1.24.1 which is a really old one. Anyway in restructuring SCIRun, this problem needs to be solved anyway.
Update: The developers are aware of this problem and are looking into its origin. All clues indeed seem to suggest a thread safety issue. McKay will try to track down this problem.
=== Algorithm/Module separation ===
Separating out algorithms from the the modules. We need this anyway when doing a clean up it will help with the dynamic compilation. So everything including the dynamic compilation part should go in a class where I can make a simple call to it just supplying handles to the Field/Matrix objects. The Algorithms should go to core/algorithms. This will mostly separate Core and Dataflow properly so people can use it for different interfaces. These libraries should be able to be initialized with the ProgressReporter so information to the user can go anywhere. We need not only exceptions to be thrown but as well warnings and remarks being forwarded, likewise progress for progress bars.
Update: Drafted a quick outline on this:
For the Algorithm/Module separation, I'd like it to be defined like this:
I would like to have a template class that takes a ProgressReporter pointer (or Module pointer) and has simple inline functions build in to forward errors.
For example:
class AlgoLibrary
{
public:
AlgoLibrary(ProgressReporter* pr=0);
private:
ProgressReporter *pr_;
inline void error(std::string error); // forward error to ProgressReporter
inline void warning(std::string error); // forward error to ProgressReporter
inline void remark(std::string error); // forward error to ProgressReporter
inline void compillationfailure(std::string error); // forward error to ProgressReporter
}
Then derived from that I would like to see a algorithmic library that is derived from this base class with
field algorithms implemented as functions:
class FieldAlgo : public AlgoLibrary {
public:
// constructor
FieldAlgo(ProgressReporter* pr=0) :
AlgoLibrary(pr)
{ };
// examples of function calls
bool Unstructure(FieldHandle& input, FieldHandle& output);
bool MergeFields(std::vector<FieldHandle>,FieldHandle& output, double tolerance);
bool Transform(std::vector<FieldHandle>, FieldHandle& output, std::string function);
..... etc ....
// Functions return false if an error ocured and the error is forwarded to the ProgressReporter
// For regression testing
// The idea is to be able to build small example meshes of each type dynamically for testing
bool BuildExampleMesh(FieldHandle& output, std::string meshclass, std::string basistype);
bool BuildExampleField(FieldHandle& output, std::string meshclass, std::string basistype, std::string datatype);
bool CompareMeshes(FieldHandle& input1, FieldHandle& input2, bool& isequal)
bool CompareFields(FieldHandle& input1, FieldHandle& input2, bool& isequal)
}
Similarly in the end it would be great to have a class called MatrixAlgo, DataIOAlgo, etc ....
All these classes should go into Core/Algorithms
The idea is to include simple functions for building example meshes. We can then loop over these functions and build example meshes and then feed them
to each of the functions in the mesh. This way we could build a simple regression testing procedure as a stand alone program. When running the program it will try to dynamically compile algorithms for each mesh type, hereby testing whether everything compiles dynamically without the need of having to start the whole TCL infrastructure!
Each function in the Algorithm class should assume it can receive any type of field class and it should report an error if it is not appropriate, by feeding it a range of example meshes we can effectively test whether these functions except every possible field. We could as well test the dynamic compilation more automatically, as the test program can be very simple program that does not need the SCIRun interface, but just uses FieldAlgo library to generate simple Example meshes, this way we could test whether dynamic code works and whether functions still result in the same mesh.
=== Reorganizing code and removing dead code ===
All objects that derive from DataType should go into Core/Datatypes, hence as well ColorMap and ColorMap2, when that is done Bundle can go into Core/Datatypes as well, making the code more organized. This will solve circular dependencies.
Update: Micheal is working on this
We could remove Core/Process , this code is unfinished and my code in SystemCall is more or less doing the same, Perhaps we should rename SystemCall to Process and then it is virtually the same but with a better name.
Update: ?
Some dead classes we should remove (old projects of mine) Core/ICom/sshagent (I am not using this), Core/Dataypes/NrrdString (concept has completely been removed), Core/Datatypes/NrrdScalar (I am not using concept anymore).
Update: These have been removed.
=== Update Insight package ===
We should remove ITKImageField and ITKLatVolField and replace them with GenericField. Only the container class in GenericField should be overloaded with an image the rest is just dead weight, making SCIRun too complicated.
Update: not yet working on this.
We should make the fdata member in GenericField a handle to the container. This way fields can share data with other objects and it would prepare the system for memory blocks to be shared across objects. It would as well allow for the special ITK classes to be removed, as we could turn the Image class as well into a container class and make the sharing of data between ITK and SCIRun way easier.
Update: We need to discuss this with the other SCIRun groups....
Both Josh and I feel that the ITK Package needs to be updated. We are going to sit down in January and figure out what needs to be done here. The issues above will be included in this process.
=== File Converrters ===
We should move all the file converters for NCRR center into SCIRun itself, we should not have too many stand alone programs that will only give the illusion that we are writing an operating system. If we could do this we could simplify code and move the converters into the Core of SCIRun. This will make it easier to find the proper pieces of the code.
Update: Micheal is willing to give this a try.
=== Graphical output ===
We should think of removing ImageMagick and replace it by libPNG. Image Magick can become an optional package. If libPNG is there then the default output of the viewer should be .png and .ppm. Almost every graphics program can support png and it is a completely open format. So that would improve usability.
Update: We will make png default output format in viewer and resolve the question of ImageMagick vs. LibPNG later, when we have the CMake system in place.
=== Further integration of Interpolation schemes ===
We should enforce proper interpolation schemes. Currently a lot of code for hexahedrals is just averaging the values on the nodes, as soon as the element is not cubic it is not proper. At least depending on how we define our interpolation scheme. For simplicity we should do this conform the basis functions. Hence functions like get_center and modules like ChangeFieldBasis should use the interpolation schemes. This makes SCIRun more consistent, which in the will simplify documentation.
Update: We still need to work out details on where we need to implement this.
=== Restructuring BioPSE ===
In BioPSE some modules use units as properties and scale things accordingly. However only a fraction of the modules supports this and hence this can lead to unpleasant surprises. In some case you work with everything in cm and put units cm and the FEM module rescales the matrix to meters and in other cases you expect it to rescale and it does not. I would suggest removing this feature completely and just let the user enter the data in the proper units when he or she is loading the data. For instance in the Duke projects we do computation all in micrometers or centimeters and rescaling if I define a unit will make things only worse. Hence I would remove this functionality.
Update: We agreed that modules should not do any conversions, but should warn when units do not match
The other problem is that BioPSE is not widely used and hence the center is not visible (BioPSE and the center are often directly linked, I know we do way more, but it is not always visible). Hence the idea to revitalize the BioPSE package.
Some thoughts on this:
* BioPSE should contain core functionality for our center. It could for instance contain the Insight basic datatypes, the core of the matlab libraries, most file converters etc, I might move the String data types over to the BioPSE core.
* Depending on the BioPSE core we have a couple of packages e.g. BioPSE_ImageProcessing, BioPSE_MeshGeneration, BioPSE_ModelGeneration, BioPSE_Simulation. Common components go in the core of the BioPSE package and hence for anyone to use any of the NCRR functionality will need to install the BioPSE package. This will help determine what the NCRR center is developing. Perhaps we should call packages like BioPSE_Matlab etc, to specifically spell out what the NCRR domain is.
* This could make BioPSE the extension of the SCIRun Core we rely on in our developments. Hence the name SCIRun/BioPSE would get more meaning.
* After we are done with improvements in the Core, we could thence better mark our development field
Update: We at least agreed to think about how to organize our packages and we probably have a brainstrom session in January.
=== Pio and Dynamic compilation ===
One discussion point: Currently a lot of the higher order classes are not instantiated for the Pio system. If we are going to support these we might want to implement the suggested model for the dynamic compilation, predefine most of them and when a class is not found use dynamic compilation to build it. Though here we have the opposite problem as with the dynamic compilation. The amount of possible field classes is so large that the list of instantiations need be really large. Or we complete the list in cd_templates or we do this with dynamic compilation. Another problem is that looking up the symbols in the dynamic libraries takes a lot time. Some networks use most execute time to find dynamic libraries and dynamically compiled files.
Update: I drafted some ideas on how to deal with the dynamic compilation:
====Phase-I====
I think the first step in simplifying this should be to combine the concepts of Pio and DynamicCompilation. Actually it is not simplifying it is
just generalizing concepts we already have developed and have experience with and the combine them
In Pio we have a list of all available makers and then choose the maker we need and in DynamicCompilation we have a function that
dynamically creates a piece of code and then loads the maker.
In my opinion the best way forward in phase-1 is to combine both concepts:
* Create a list of algo_makers, similar to what we currently have for the field_types needed for Pio.
* Add static constructors to all algorithms we have for dynamic compilation and make them register themselves in the list of available makers
* In loading dynamic code : we first search the list of makers constructed from the static constructors (if it is there the algorithm is already available in the Core),
then search on-the-fly libs with the generated filename, if nothing is found generate code that will do the job. This would improve performance as the Pio way of static constructors that copy the algorithm maker on a list will be faster than looking up symbols in a dynamically loaded file.
* Add precompiled instantiators for often used version, e.g. like the cd_field_template files in Core/Datatypes for commonly used mesh types and data types (double, Vector, Tensor)
* Make Pio use the same order (hence Pio then could dynamically compile if needed).
This way we could have multiple distributions with the same source tree: For the windows distribution we add a compilation of all algorithms we think we need (we can do this by setting options in the makefile), for a developers version we skip over all of those and let Pio and Algorithms do their dynamic compilation (the system would be smart enough if it does not see a statically registered maker, then it needs to build the class), and combinations of both strategies depending on how much we want to be prebuild. I can imagine that I want to have a lean version (everything dynamically compiled) so I save memory.
The cleanup in this case would come from the merger between Pio and Dynamic compilation. It would fix the problem we currently have that we do not have Pio support for all the higher order stuff.
Having algorithms in a cd_template_fields construction will reduce the amount of files we have and as well some compiler overhead (not every individual algorithm needs to be linked against all libraries, looking at on-the-fly-libs that is currently a problem) and probaly will speed up executing of networks.
====Phase-II====
* Add an interpreter for dynamically compiled functions. We theoretically could keep a dynamic version (highly optimized for speed) and an interpreter version. If dynamic compilation is not available we should do it with the interpreter.
* At the same time we might integrate the functionality I already built. I have functions like this that are more flexible. I already have modules that replace TransformData completely and are more flexible and have already a Algorithm/Module separation (not fully separated, but close to what I envision). My dynamically compiled system adds a lot of functions directly to the interface, functions like computing fractional_anisotropy, etc are already defined, similarly the framework I have allows for mixing data from Matrices and Fields, which I will need for scripting SCIRun (A project I like to work on next year). I don't have an interpreter function yet, but I'd like to add it the framework I already setup a while ago. Combining a newly to develop interpreter and the framework I already have and then adding it to the SCIRun-Core may be the way to go.
====Phase-III====
* We need to figure out what to do with algorithms that lead to too many combinations. For this we would need virtual functions.
* Add virtual functions to SCIRun. Again we could have a speedy version using dynamic compilation and one that uses virtual functions.
* We could see what the performance hit is and choose accordingly. For projects where windows compatibility is paramount we only implement functions virtually , where speed is paramount we do it through dynamic compilation, if we need both we implement both versions.
* If the number of possible algorithms is less then lets say 50 or something we just precompile all of them for windows and solve it like that. If we get in a lot of combinations we need to rewrite the algorithm to use virtual functions or split it up in smaller components (sometimes an alternative for virtual function calls). This will reduce the amount of algorithms we need to rewrite.
-- Jeroen
CIBC:Core:Imaging
0
946
3080
2005-12-15T21:13:17Z
Erikj
2
wikitext
text/x-wiki
==Thoughts on Medical Imaging (MI) at the CIBC==
--[[User:Cates|Cates]] 16:22, 19 Oct 2005 (MDT)
===The current state of open-source MI software.===
*There is a growing need for open source software and, more importantly, software standards in the MI community. Several groups (e.g. NAMIC, ISC) are pushing software standards for segmentation, registration, visualization and validation.
*Standards for collaborative, open-source software development and testing are a very important part of this effort. CS and non-CS researchers, program managers and students are literally begging for reliable, tested, imaging tools that "just work out-of-the-box".
*ITK is gaining acceptance as the standard for segmentation, registration, and certain types of image processing. VTK is already an accepted standard for visualization. Both toolkits have a robust software process and good support within the community.
*Other toolkits are extending the functionality of ITK & VTK for more specific imaging and diagnostic medical applications. These toolkits have bought into the open-source process pioneered by NIH and the ITK project.
===What do other groups within the MI community do?===
*Many labs are adopting standard software "kits" such as the one promoted by NAMIC.
*Non-CS labs use a mix of custom research software and commercially available tools.
*CS labs often focus on toolkits, combining fltk, vtk, itk, tcl to produce small, tailored applications. New toolkits are appearing that add application-specific functionality to generic toolkits, e.g. MITK, IGSTK.
===What software tools are missing from the MI community?===
*Truly open-source visual programming environments.
*Advanced visualization.
*Interactive widgets. (VTK will soon set a very high bar.)
===What imaging capabilities do we currently have in SCIRun?===
*Limited support for image data.
*Limited support for ITK algorithms.
*Limited support for image visualization.
*Limited support for image interaction (widgets).
*Bottom line: There is no dedicated support for images in SCIRun. Thus far we have relied mostly on existing functionality and retro-fitted it to support image processing.
===Recommendations for the CIBC===
*More fully adopt ITK as our imaging platform. This requires a more serious commitment of resources than may have previously been made?
*Participate more actively in the MI open-source movement. We have a significant presence in this community and could more fully exploit our influence.
*Bring our software process up to the standards set by the major players in the community. Aspire to gaining the ISC and NAMIC "seal-of-approval", which potentially includes distribution of our code within a standard open-source MI software kit.
*Consider re-engineering SCIRun as a collection of lightweight modules to better support agile development and deployment.
*Think about alternatives to SCIRun. Are there combinations of other open-source toolkits we can consider that are cheaper and more flexible than SCIRun to use?
*A visual programming environment for ITK could become the community open-source standard.
*A high quality visualization application (BioImage-style) could become a community open-source standard.
*A generic segmentation PowerApp could become a community open-source standard.
For more specific ideas within SCIRun, see [[CIBC:Project:LevelSetPowerApp]] [[CIBC:Project:ImageViewer]]
===Related Links===
*[http://www.insightsoftwareconsortium.org Insight Software Consortium]
*[http://www.na-mic.org/Wiki/index.php/SoftwareInventory NAMIC Kit]
*[http://www.na-mic.org/Wiki/images/3/39/SoftwareProcess.pdf Software Process Notes]
*[http://www.itk.org ITK]
CIBC:Project:ImageViewer
0
947
964
2005-12-15T21:14:22Z
Erikj
2
wikitext
text/x-wiki
===Motivation===
First, see the definitions of images and labeled images [[CIBC:LabeledImages | here]].
When visualizing image data it is important to present the data in as raw a form as possible
so as not to obscure information content or introduce erroneous information content. Typically
this means displaying higher dimensional data in 2D slices on a grid whose spacing matches that
of the image data, with no filtering, interpolation, or other transformations applied.
When image data has multiple channels (vector-valued data points), each channel may be displayed
separately or colored using an appropriate map for the data (e.g. rgb pixels). For common
imaging tasks such as segmentation and registration, it is critical that a user be able to visualize
image data in this way.
===SCIRun ImageViewer Module===
For SCIRun I propose a new visualization module that incorporates the above ideas. It should have
the following list of features.
*Presents image data of 2 and higher dimensions in successive 2D slices. The slice domain defaults to the first two fastest-increasing axes in the data, with the ability to permute the choice of axes as needed. Reslicing the image along a new axis should not involve transforming or otherwise interpolating the data.
*The user should be able to toggle between views of the data in isotropic pixel-space and isotropic real space. The pixel-space display is the most raw view, where no interpolation of the data is necessary other than nearest-neighbor interpolation when resizing the display window (zooming). The real-space display may require resampling of exactly one of the display axes to match the spacing of the other display axis. This resampling should use nearest neighbor interpolation, with the option for linear interpolation if desired.
*Navigational controls to allow stepping forward and backward through slices of the data, reslicing, and zooming in and out of regions of interest.
*Image information such as image extent, spacing, and view orientation should be displayed for the user.
*The usual SCIRun support for color mapping the data.
*Functionality for overlaying [[CIBC:LabeledImages | labeled image]] masks (segmentations) on the original image data.
*Interaction should include: probing image values and locations with the mouse, drawing labeled images directly into the display window.
Additional bells and whistles to consider:
*Navigational controls that orient the user to the slice location within the higher dimensional image domain.
===Example Images===
The following images are taken from the UNC image viewer application in common use in the ITK community. They illustrate something akin to what I have in mind for the SCIRun viewer. The data presented on the overlay is information about the image size and spacing. The data at the lower-right corner of the display shows the position of the mouse and the pixel value at that position.
[[Image:UNCImageViewer1.jpg|thumbnail|100px]]
[[Image:UNCImageViewer2.jpg|thumbnail|100px]]
This next example shows a labeled region in green overlaid on top of the original image. This green section could be the result of an automatic segmentation, a hand-drawn segmentation, or some combination of both.
[[Image:OverlayExample.jpg|thumbnail|100px]]
File:UNCImageViewer1.jpg
6
948
3082
2005-12-15T21:16:45Z
Erikj
2
The ImageViewer application from UNC Chapel Hill
wikitext
text/x-wiki
The ImageViewer application from UNC Chapel Hill
File:UNCImageViewer2.jpg
6
949
3083
2005-12-15T21:22:35Z
Erikj
2
The ImageViewer application from UNC Chapel Hill.
wikitext
text/x-wiki
The ImageViewer application from UNC Chapel Hill.
File:OverlayExample.jpg
6
950
3084
2005-12-15T21:23:06Z
Erikj
2
Example of a green, semi-transparent overlay of the segmentation of part of a bone on top of the original ct image slice.
wikitext
text/x-wiki
Example of a green, semi-transparent overlay of the segmentation of part of a bone on top of the original ct image slice.
CIBC:LabeledImages
0
951
3085
2005-12-15T21:26:05Z
Erikj
2
wikitext
text/x-wiki
===What is an Image?===
Traditionally when folks talk about images, they are referring to a collection of
samples over a strictly 2D domain. Samples over 3D domains are called "volumes". For our purposes,
however, we want to think of images of arbitrary dimensions: a volume is simply a 3D image, a
4D image is simply a sequence (often time) of 3D images; "voxels" are just 3D pixels.
The definition of an image therefore becomes: a collection of data samples (scalar- or vector-valued)
over a regularly-spaced grid of points in a domain of arbitrary dimensionality.
Thinking about image data in these terms within SCIRun is important in order to correctly interface
with imaging algorithms in ITK. The trend in imaging is toward higher dimensional datasets and we
should be ready to support them.
===What is a Labeled Image?===
To properly support image segmentation in SCIRun, we need some basic functionality for
creating and manipulating labeled images (a.k.a. annotated images). Image segmentation can be thought of as a process
of identifying points in an image domain that are inside an object of interest: for example, marking
all of the pixel locations whose data that suggests the presence of bone, a certain tissue type, the
boundary of the heart, etc. The simplest way to represent such a collection of discrete points is
often just a binary mask in a separate image whose domain and sample spacing exactly matches that
of the original image data. This binary mask, together with its corresponding image data, is a what I'm
calling a labeled image. When regions of interest in an image cannot simultaneously occupy the
same points in space (e.g. heart tissue cannot exist inside rib bones), multiple binary masks may be
stored in the same labeled image by giving each region of interest a different label value (the heart
gets label 1, the ribs get label 2).
In addition to binary-style labeled images, we should also support so-called "fuzzy" segmentations, that is, image masks where values at a point indicate the statistical likelihood that the given pixel belongs inside a given object.
===SCIRun Labeled Image Class===
I propose a new class, or adoption of an existing class, for use as a labeled image class in SCIRun
that supports segmentation tasks with the following features.
*Supports integer types (unsigned long?) for binary labeling and a floating point type for statistical labeling.
*Supports run-length encoding?
*Perhaps this class can be an abstract interface to existing SCIRun data containers?
CIBC:Collab:Cappechi
0
952
3086
2005-12-15T21:29:28Z
Erikj
2
wikitext
text/x-wiki
==Project Description==
==Project Status==
==Software Development==
[[CIBC:Project:ShapeAnalysisTools | Shape Analysis Tools]]
==Technical Requirements==
Segmentation
Shape analysis
=== Algorithms ===
Shape analysis
Segmentation algorithms: Watersheds,
===Program control===
===Data representation===
===User interface===
CIBC:Project:ShapeAnalysisTools
0
953
3087
2005-12-15T21:29:48Z
Erikj
2
wikitext
text/x-wiki
===Status===
Tom is testing Martin Styner's (UNC) shape analysis framework in ITK. Tom has Martin's tools built and running and Josh has converted all of Lindsey's segmentations to nrrds for Tom to begin testing the shape tools. It looks like we have a very nice collection of data: multiple segmentations of at least 6 different mouse bones.
11/14/05
We are currently experimenting with ways to post process the segmentations in order to fill holes, remove handles, etc. so that they will be in a form suitable for the shape analysis.
CIBC:Collab:NCMIR
0
954
3088
2005-12-15T21:30:26Z
Erikj
2
wikitext
text/x-wiki
==Project Description==
==Project Status==
In Spring 05 a SCI application was delivered to NCMIR (after about 9 months of development), but it does not run reliably enough to be tested.
Notes from phone meeting with Mona at NCMIR from 11/08/05 are here [[CIBC:Collab:MeetingNotes11.08.05]]
==Software Development==
[[CIBC:Project:LevelSetPowerApp | Level-Set Segmentation Powerapp]]
==Technical Requirements==
=== What NCMIR needs ===
- Interact in 2D by painting, putting down primitives etc.
- Load in very large volume files and view/interact either slices at a time or entire volume
- Visualize 2D/3D output (curves, surfaces, simple volume rendering)
- Document workflow, save state, etc.
- Try different options within a single workflow. E.g. alternate between preprocessing alternatives
- Move results of segmentation from one slice to another: decide on each slice which initialization to use
- Stand-alone application that runs reliably
===What we need to give them what they need===
- Consistent, reliable memory handling
- Parallelism handled by the pipeline (for simple cases)
- Conditionals within pipeline
- Ability to construct pipelines using native data types of toolkits
- 2D/3D images and 2D/3D interaction tools
- Reliable compiling and running across several prominent architectures
- Ability to exclude large numbers of buggy, unnecessary modules from the build/run
CIBC:Collab:MeetingNotes11.08.05
0
955
3089
2005-12-15T21:31:20Z
Erikj
2
wikitext
text/x-wiki
Josh met with Mona from the Ellisman lab by phone on Nov. 08, 2005. These are Josh's notes summarizing the discussion.
The NCMIR group has several tools that they use for segmentation. Primarily they use a system called Xbox trace, which was written many years ago. Mona also has an application she has written called Jinx. Both Xbox trace and Jinx are hand contouring tools. In addition to these hand contouring tools, they also use Analyze and assorted other software packages. Mona will send me links to Jinx and Xbox trace so that I can try them out.
The NCMIR software was designed based on feedback from their users: the focus is on the interface and ease of use, rather than advanced features. The group would like to incorporate automatic segmentation algorithms into their software--they have some post-doc types there working on image processing algorithms--but they are wary of trying to add too many features into their existing software packages. They will probably design new tools from scratch when they begin to work with automatic segmentations. They are working on a watershed segmentation method and some kind of fuzzy classifier method?
One of the major benefits of collaboration with the NCMIR group is that we have access to their
user community, which is interested in trying new software tools and segmentation/visualization algorithms--they know that they are expected to be guinea pigs for new ideas and we can ship experimental stuff their way to try. The main group of users are biologists, sometimes staff and sometimes students. Typically, the same person that acquires the images from the microscope will also do the image segmentation.
The major problems that their lab has had with the SCIRun power app is that it always locks up after processing 6-10 slices. The other major thing that they do not like about the power app is that it requires that the segmentation be done in a linear, pipeline processing manner. memory issues
Darby and/or Dave has an account on their machines that we can use to install/deliver new
software or software updates. They have several linux boxes with several gigabytes of memory. When they have tried SCIRun in the past, they have simply run it from the build that we provided and maintatined for them and havee not tried to install the system themselves. Mona seemed interested that we support Macs. The lab also has a few Sun systems.
I chatted with Mona about the user interfaces that they prefer. She has done a couple of surveys of users to try to identify what approaches are best for them. She indicated that the "photoshop" style interface for a segmentation app that I pitched to her would be popular with her users. It sounds like their tools are built using this model: simple image viewer interface with a set of tools to do hand contouring.
It seems like three dimensional segmentation/visualization is not something they have thought much about. The idea of a 3D segmentation app could be interesting. Mona indicated that a multi-scale approach to image segmentation would be well received.
Other ideas from the meeting: Mona suggested that their users might have some ideas
for useful widgets for image segmentation, for example, she suggested a cylinder widget
for use in segmenting structures in 3d.
CIBC:Collab:Henriquez
0
956
3090
2005-12-15T21:32:22Z
Erikj
2
wikitext
text/x-wiki
== Project Description ==
This project aims at simulating the effectiveness of DNA transport into a cell by means of eletrophoresus. A key issue in gene therapy is to be able to transport DNA molecules into the cell. One way to accomplish this is by application of a strong electric field and force holes in the cell membrane. These holes form when membranes are subjected to large electric field. As the electric field strength is not homogeneous in tissue, the first step of the project aims at computing the electric field in a tissue. Moreover as holes form in the membrane the electric field changes and hence this is a dynamic simulation.
== Project Status ==
Exploring what components are needed for this project.
== Project Progress/Development ==
The first milestone in this project will to be able to simulate the strength of the electrical field in tissue. This part of the project will coincide with the other project currently going on in collaboration with Craig Henriquez. In the latter project we are developing a model at tissue level for studying propagation in various types of cardiac tissue. Hence the current effort is at building tissue models and software for doing this.
What has been done:
(1) Adapted and rewrote the CardioWave software from Duke to be able to simulate tissue at a cellular level, modified the way volumes and areas are accounted for, adapted the matrix solving process, added a whole new layer in the software to do these calculations in parallel on a cluster.
(2) Tested the CardioWave software on the NCRR cluster. CardioWave runs here, but runs far less efficient then on the SGI machines. There is a big performance gap until we go to the real big models. Currently a simple simulation of about 20 cells takes about 16 hours on 10 processors on Muse.
(3) Created software to generate FEM models based on tissue structure. CardioWave needs a lot different model components and these are currently generated by the software.
(4) Tested the software for simple cell models and simulated a series of ischemia cases, which surprisingly showed that a lot of the conduction slowing observed in ischemia can be attributed to tissue structure changes, which goes against current theory. (writing a paper about it now)
--Jeroen
== Software development ==
[[CIBC:Project:CardioWaveInterface | CardioWave Interface]]
== Technical Requirements for PSE==
===Program Infrastructure===
* Resource (Memory/CPU) management
** Working interactively with large datasets requires that data can be stored in memory and/or disk.
** Dividing algorithms into small reusable components will require a lot of memory if data is stored in memory to keep interactivity alive.
** Optimization between using a lot of memory and being fast or more memory and being slow. For example for a small data set you want to store eigenvalues of a tensor, for bigger datasets keeping intermediate results will cause a lot of swapping memory and could lead to running out of addressable memory space.
** Optimize dataflow, what is execute and in which order to minimize computation time and memory needs.
* Component model: Algorithms should be fairly general and exchangable. The data quality of input varies and the goals of the simulations vary as well: hence a component model would be required, with a user interface in which components can be interchanged/omitted/added.
* Automation: Automation should be available from the interface.
**Often reoccuring scenarios are doing parameter sweeps in different domains, trying different segmenation parameters, using different membrane parameters.
** Most software uses a simple list of parameters to guide the process. A similar concept would make it easier to interact with other software. For instance CardioWave uses a textfile with parameters, most Matlab oriented software in this project uses similar parameter lists.
** Parameters to controlling application: filenames, scalar values (vector and tensor value (e.g. conductivities)) and strings (e.g. membrane models)
* External Application Interface: A mechanism to run simulations at in a different process at a different computer.
** To setup a simulation the model should be able to be export in the fileformat of the simulator
** Simulation software often requires MPI, stability and hence should run as a separate program. Since simulations in the project take time interaction is not stricly needed.
** The mechanism supported should be reliable and should support to run a simulation without crashing (simulations can take days to complete)
* Monitoring simulations: Simulations results should be written as files in a directory (that way we keep a clear record of results). When the simulation directory is mounted SCIRun should have access to it and use it to dynamically update its display.
* Annotation: We should have the ability to gather parameters in a simple text document (or something similar) to annotate simulations. Being able to figure out what kind of parameters were used in a simulation is valuable.
** Annotation should be preferably be generated automatically or should be scriptable, this will ease the task of the scientist.
** Keeping a log of operations performed.
* Algorithmic separation:
** Store algorithms in libraries which have standard options for error reporting and informing the user (abstract methods that can be separated from actual GUI, giving feedback e.g. warnings etc to the user is important)
** When we have figured out a way of image to model that works for a lot of cases, one wants to be able to quickly rewrite the component GUI program to a full stand-alone program.
** When having a combination of mesh generation tools that work, one may consider a program that can be called under Matlab/Mathematica without GUI for certain basic tasks.
=== Algorithms ===
* Segmentation filter: A simple filter that requires that segmented areas are fully linked volumes (islands need to be removed) and one volume should remain.
* Segmentation algorithms: flood fill, watershed, etc....
* Interpolation algorithms:
** Based on a segementation/selection mask and a trustworthyness index one often wants to interpolate over bad data. E.g. I have a segmentation of anatomy of the heart and diffusion tensor which are not to be trusted next to a pool of blood, an air/tissue interface etc, then one wants to interpolate the data based on the reliable data.
** Laplacian interpolation (Are there better algorithms for doing interpolation of diffusion tensors?)
* Surface Extraction Algorithms: A common notion is to go from a pixel segmented image to a triangulated surface. One requirement would be able to control the density of the grid of the surface, as one often wants a grid less dense then the pixelated surface. And one wants a smoother outer surface.
* Meshing Algorithms: After having created a surface mesh one wants to fill the spaces with tetrahedra. Methods like advancing fronts are probably best for bioelectric problems, where a precise representation of the surface is not necessary. It would be nice to have our own algorithms or an open source development. This is currently a big gap in the pipeline. It would be great to have basic algorithms within SCIRun and bridges to other software packages for more advanced need.
* Surface smoothing algorithms: It would be great if we could smooth extracted surfaces before use in the models.
* Mesh separation code: For the membrane modeling, a mesh needs to be decoupled into discrete domains. This requires adding nodes and building internal interfaces in the mesh, which represent the membrane barriers. The idea is to have a segmented image in intra and extracellular space. When the segmentation is different an interface needs to be created.
* Surface extraction methods: based on a segmented image one wants the surface that surrounds region 1, or that is in between region 1 and 2, etc.
* Book keeping algorithms when merging geometries: Bidomain regions of a model require regular spacing, whereas other regions require only smooth transititions between element size. Hence geometries are constructed seperately and need to be merged, keeping track of which node is which node is essential.
* Extracting node numbers in mesh. Often node numbers are needed to indicate where a model stimulated, where a reference electrode is located etc.
* Bandwidth reduction/bookkeeping algorithms: To optimize the matrix computation for MPI, a smaller bandwidth often means less communication. Algorithms to explore: CutHill-McKee, sorting by node location etc. When rearranging nodes, indices and other entities need to be remapped to new node numbers as well.
* Bounding curve selection tools: Based on a segmented image, one wants to extract a curve surrounding the segmented area to use in the meshing procedure
* Algorithm for creating a triangular mesh out of a series of segmented curves
* Resampling algorithms: e.g. if one has a curve one wants to fit a spline and resample the surface. If we have a similar algorithm for a surface that would be great.
* FE stiffness matrix generation code. Similar algorithms as in the current BioPSE package.
* Mesh Templates/Mesh warping
**Taking simple geometric objects and warp them into a more complicated shape to for instance define a ischemic region.
* Mapping mathematical functions on a mesh: Often data from images is not enough to build a model and one needs to define a geometrical function on top of the mesh for a certain parameter.
* Distance maps: Often parameters are defined depending on the distance to the edge of the object or depending on the distance to a certain point.
** One can think of M-cells/ Epicardial cells etc, they can be defined is being a certain distance from a certain boundary.
* Algorithms to calculate effective area/volume on a node to node basis of the amount of volume in unstructured mesh that can be assigned to that node.
===Data Representation===
* Import/Export of "simple" data formats: text files (for example matrices in rows and columns), data blocks of a certain data type with a small header file preferably in ascii (like nrrd). Usage of the current SCIRun native file formats requires linking against a lot of C++ classes and SCIRun infrastructure, which is an obstacle in linking against other programs.
* Import/Export of parts of datasets (Simulation data can run in Gbytes of data and storing all in memory becomes problematic)
* Support for multiple data entities attached to one mesh
** Currently SCIRun allows only one type of data on a mesh, hence a lot of duplication of pipelines mark the current networks. Models seldom have one entity attached to a mesh often one needs to think of conductivity tensors, membrane types, tissue types (segmentation), etc.
* Unstructured meshes: Hexhedral/Tetrahedral/Quadrilateral/Triangular elements: Full support for both hexahedral and tetrahedral elements ranging from segmentation to stiffness matrix generation.
* Structured meshes: MRI data/confocal data often is a regular multidimension matrix.
* Automation: representation of filenames, scalar/vector/tensor parameters is need for automating networks.
* Bundling projects: Models often consist of a collection of matrices, meshes, and parameters, bundling everything into one file/directory is useful as an organizational tool. Being able to systematically organize data of current and past simulations is something that makes life easier and will lead to a higher degree of automation and more productive scientists.
* Support for a dataset spread over multiple files and selecting part of the data.
** The newest version of CarioWave regenerates multiple files while the simulation is running. Examining a few files will allow the user to look at certain timespans of the data.
* Support for time depend data
** time scale can be irregular hence we need a kind of lookup system for actual time
** supporting time with in the geometrical objects
* Support for irregular spaced data
** An example of irregular spaced data is for example adaptive time refinement, each frame of data still has the same amount off data but it is spaced irregular in time with the timestep between data being irregular.
** This would require to record the spacing in every direction but would still allow for a regular matrix storage of the data.
===User Interface===
* Comparison mode: One of the most useful features in SCIRun/Map3d is the dual/triple display mode to compare different datasets in displays that are locked. If we keep the SCIRun platform it would be useful to extend this to BioImage/BioTensor. What one wants to do is comparisons between datasets.
* 2D/3D widgets for marking parts of a mesh:
** Marking of locations (constraint to volume or surface or unconstraint floating in 3D volume)
** labeling widgets, e.g. different colors for stimulus electrodes and reference electrodes, adding text to widgets.
* 2D Image viewer:
** Draw/compute segmentation: automated segmentation with options for user to override segmentation made
** Overlay of different segmentations/ properties computed on the mesh/
** Annotation of slice, e.g. slice number, slice size, slice normal in physical space etc.
** Synchronized displays (e.g. sync slice number or actual z postion etc.)
* 3D data viewer:
** Transparant surfaces
** The option to switch on and off surfaces/meshes (e.g. as currently in SCIRun)
** Synchronized displays (for comparison mode)
** Display of legend, model parameters used etc in figure.
* Graph viewer:
** Options to draw matlab like figures, with extensive options to set units, titles, grids, scales, etc.
** Draw time curves of data: being able to get time signals and display them in a graph
** Annotation of graph viewer: title, legend, axis names/numbers/units.
** Multiple lines in one graph with different colors
** Irregularly spaced x-axis for time data: the project probably requires adaptive time steps and thus sampling is not regular
** The interface should allow for creating images that can be used in publications: being able to choose amount of colors, write decent title headers, have possibility to select resolution, being able to added axis, adding symbols, being able to add legends.
CIBC:Project:CardioWaveInterface
0
957
3091
2005-12-15T21:32:51Z
Erikj
2
wikitext
text/x-wiki
== CardioWave Interface ==
== Data organization ==
One of the key questions is how to organize the data. A model is more then a image with annotation. Hence a new representation is needed to generate more complicated models.
The idea is to use Bundles of Strings, Fields, and Matrices to represent a model. The reason for this is that the scheme is simplistic enough to be general, but it could theoretically be suitable to more modeling projects.
As bundles can be inserted into another bundle they can form complex hierarchies, they should hopefully provide a flexible enough platform for building models. Currently a series of modules have been generated in the Core of SCIRun to support this development.
== Recent developments ==
(1) The Cardiowave package was split into two packages: ModelCreation and CardioWave. The reason for splitting the package is that many of the tools are more general and can possible be reused in BioPSE or in the CIBC center. The goal of this package is to provide general tools for module building. Currently the modules that were generated for this project live in this package, but they can be moved to other places if needed (any suggestions?)
== To Do ==
(1) Clean up CardioWave package. All more general modules should go to the ModelCreation package or to the SCIRun core. The CardioWave package should only contain specific modules that communicate with CardioWave.
(2) Create a more general makefile for CardioWave, it needs dynamic compilation and we currently need to adapt it for each flavour of MPI and for each platform. The makefile of Duke does not work on any of our platforms.
(3) Design final interface. Pieces have been generated, but no coherent module structure is present.
(4) Create code to generate surfaces inside a mesh at which we representa membrane. At membranes one has an intrracellular and extracellular node, hence one needs to split a mesh into two pieces while keeping all the nodes. In this case nodes at the boundaries need to be doubled. This operation is the opposite of GatherFields. The module works by using the data at the elements to see how the mesh needs to be split in submeshes. Each submesh does not share any nodes but still contains the same elements and still fills the same space. The goal of this module is to use it to generate intra and extracellular meshes that fit together like a jigsaw puzzle. This module could take a segmented confocal image and split every segmented area into its own mesh. Lateron one can find which faces are at the border and one can link them face by face and connect them with a membrane model.
(5) Add code to figure out which faces link to neighboring faces in a mesh that has been split in discrete compartments. Probably code that is generated in this module can be used to fix GatherFields as well. This requires code to build an effective algorithm to find nodes that are close by (within a certain radius).
(6) Test module that computes the effective area/volume of the adjoining elements. To compute current strengths at nodes one needs to assign a volume or area to the node. This can be done based on the mesh by adding the effective area or volume of each adjoining element. This currently only works for linear elements.
(7) Upgrade CardioWave packages to use Higher Order Basis functions field classes.
CIBC:Collab:McVeigh
0
958
3092
2005-12-15T21:34:27Z
Erikj
2
wikitext
text/x-wiki
== Project Description ==
The overall goal of Dr. McVeigh's research is to develop a computational model to predict the susceptibility to fatal ventricular arrhythmia. Dr. McVeigh and his colleagues have developed methods to measure electrical, mechanical, and geometrical properties of normal and abnormal myocardial tissue with unprecedented resolution in the working heart, both in patient and experimental studies. Dr. McVeigh's group is studying the interplay between these properties and their relative roles in generating the substrate for ventricular arrhythmia. Their ultimate goal is to understand the propensity for the onset of fatal ventricular arrhythmia and to predict which patients are at high risk for sudden death.
The '''first scientific aim''' of this research is to test the hypothesis that regions of abnormal geometry and mechanics in heartsfollowing myocardial infarction (MI) contribute to reentry circuits of ventricular tachycardia (VT). Dr. McVeigh and his group will examine electromechanical maps from canine hearts during normal HIS-Purkinje conduction to study the association between electrophysiological parameters and the magnitude and timing of myocardial strains with particular attention to the MI border zone. Subsequently, they will induce reentry VT by programmed stimulation with up to three extra stimuli and acquire electromechanical data during the resulting arrhythmias. By registering the electrical, geometrical, and mechanical data, they will be able to dissect the contributions of the geometry and mechanics to propensity for ventricular arrhythmia. Dr. McVeigh's group anticipates that the reentry circuit will appear in the peri-infarct zone (both the infarct border zone and within the infarct), where they expect the heterogeneity of the conduction properties to be greatest. They will also use diffusion weighted MRI and diffusion tensor imaging to determine the predominant fiber directions in the infarct and noninfarct regions, then to determine the fiber stress and strain. This information will allow them to evaluate whether transmural heterogeneity of fiber stress and strain in the peri-infarct zone may generate foci for stretch-activated ventricular ectopy to initiate VT. Thus they can test the hypothesis that regions of abnormal geometry and mechanics contribute to reentry circuits of ventricular arrhythmia.
The '''second scientific aim''' is to develop a computational model to predict the propensity to ventricular arrhythmia in post-MI subjects. Out of the electrical, geometrical and mechanical data acquired in the first aim, members of Dr. McVeigh's group will identify specific parameters that could contribute to post-MI VT. Potential geometrical parameters include the infarct size, location, distribution, and the thickness of surviving epicardial rim. Candidates for mechanical parameters include the magnitude of abnormal stretch and the size, location, and distribution of the region of abnormal stretch. Based on these parameters, they will develop a bidomain computational model that will predict electrical behaviors and the susceptibility to post-MI VT from geometrical and mechanical data.
== Project Status ==
Exploring what components are needed for this project.
== Project Progress/Development ==
Working on registration of various MRI images both CINE and Anatomical aimed at building a full heart model with a torso surrounding it.
While in DC I helped Bruce to construct a torso mesh that surrounds the auckland heart, we prototyped a few meshing algorithms in Matlab and worked on registration techniques to align a predefined model of the heart to the correct position in the heart.
--Jeroen
== Software development ==
== Technical Requirements for PSE==
===Program Infrastructure===
* Resource (Memory/CPU) management
** Working interactively with large datasets requires that data can be stored in memory and/or disk.
** Dividing algorithms into small reusable components will require a lot of memory if data is stored in memory to keep interactivity alive.
** Optimization between using a lot of memory and being fast or more memory and being slow. For example for a small data set you want to store eigenvalues of a tensor, for bigger datasets keeping intermediate results will cause a lot of swapping memory and could lead to running out of addressable memory space.
** Optimize dataflow, what is execute and in which order to minimize computation time and memory needs.
* Component model: Algorithms should be fairly general and exchangable. The data quality of input varies and the goals of the simulations vary as well: hence a component model would be required, with a user interface in which components can be interchanged/omitted/added.
* Automation: Automation should be available from the interface.
**Often reoccuring scenarios are doing parameter sweeps in different domains, trying different segmenation parameters, using different membrane parameters.
** Most software uses a simple list of parameters to guide the process. A similar concept would make it easier to interact with other software. For instance CardioWave uses a textfile with parameters, most Matlab oriented software in this project uses similar parameter lists.
** Parameters to controlling application: filenames, scalar values (vector and tensor value (e.g. conductivities)) and strings (e.g. membrane models)
* External Application Interface: A mechanism to run simulations at in a different process at a different computer.
** To setup a simulation the model should be able to be export in the fileformat of the simulator
** Simulation software often requires MPI, stability and hence should run as a separate program. Since simulations in the project take time interaction is not stricly needed.
** The mechanism supported should be reliable and should support to run a simulation without crashing (simulations can take days to complete)
* Monitoring simulations: Simulations results should be written as files in a directory (that way we keep a clear record of results). When the simulation directory is mounted SCIRun should have access to it and use it to dynamically update its display.
* Annotation: We should have the ability to gather parameters in a simple text document (or something similar) to annotate simulations. Being able to figure out what kind of parameters were used in a simulation is valuable.
** Annotation should be preferably be generated automatically or should be scriptable, this will ease the task of the scientist.
** Keeping a log of operations performed.
* Algorithmic separation:
** Store algorithms in libraries which have standard options for error reporting and informing the user (abstract methods that can be separated from actual GUI, giving feedback e.g. warnings etc to the user is important)
** When we have figured out a way of image to model that works for a lot of cases, one wants to be able to quickly rewrite the component GUI program to a full stand-alone program.
** When having a combination of mesh generation tools that work, one may consider a program that can be called under Matlab/Mathematica without GUI for certain basic tasks.
=== Algorithms ===
* Surface Extraction Algorithms: A common notion is to go from a pixel segmented image to a triangulated surface. One requirement would be able to control the density of the grid of the surface, as one often wants a grid less dense then the pixelated surface. And one wants a smoother outer surface.
* Meshing Algorithms: After having created a surface mesh one wants to fill the spaces with tetrahedra. Methods like advancing fronts are probably best for bioelectric problems, where a precise representation of the surface is not necessary. It would be nice to have our own algorithms or an open source development. This is currently a big gap in the pipeline. It would be great to have basic algorithms within SCIRun and bridges to other software packages for more advanced need.
* Surface smoothing algorithms: It would be great if we could smooth extracted surfaces before use in the models.
* Surface extraction methods: based on a segmented image one wants the surface that surrounds region 1, or that is in between region 1 and 2, etc.
* Book keeping algorithms when merging geometries: Bidomain regions of a model require regular spacing, whereas other regions require only smooth transititions between element size. Hence geometries are constructed seperately and need to be merged, keeping track of which node is which node is essential.
* Extracting node numbers in mesh. Often node numbers are needed to indicate where a model stimulated, where a reference electrode is located etc.
* Bounding curve selection tools: Based on a segmented image, one wants to extract a curve surrounding the segmented area to use in the meshing procedure
* Algorithm for creating a triangular mesh out of a series of segmented curves
* Resampling algorithms: e.g. if one has a curve one wants to fit a spline and resample the surface. If we have a similar algorithm for a surface that would be great.
* FE stiffness matrix generation code. Similar algorithms as in the current BioPSE package.
* Mesh Templates/Mesh warping
**Taking simple geometric objects and warp them into a more complicated shape to for instance define a ischemic region.
* Mapping mathematical functions on a mesh: Often data from images is not enough to build a model and one needs to define a geometrical function on top of the mesh for a certain parameter.
* Distance maps: Often parameters are defined depending on the distance to the edge of the object or depending on the distance to a certain point.
** One can think of M-cells/ Epicardial cells etc, they can be defined is being a certain distance from a certain boundary.
* Implementation of more matrix solvers: We currently use BiCGstab in the simulation tools. (One could think of Algebraic MultiGrid as well)
* Implementation of PETSc/MPI matrix solvers to solve large matrix problem efficiently with preconditioners in parallel. (SCIRun has only ported the single processor versions.)
* Implementation of matrix solvers that solve multiple right handsides at the same time.
* Segmentation algorithms: flood fill, watershed, etc....
===Data Representation===
* Import/Export of "simple" data formats: text files (for example matrices in rows and columns), data blocks of a certain data type with a small header file preferably in ascii (like nrrd). Usage of the current SCIRun native file formats requires linking against a lot of C++ classes and SCIRun infrastructure, which is an obstacle in linking against other programs.
* Import/Export of parts of datasets (Simulation data can run in Gbytes of data and storing all in memory becomes problematic)
* Support for multiple data entities attached to one mesh
** Currently SCIRun allows only one type of data on a mesh, hence a lot of duplication of pipelines mark the current networks. Models seldom have one entity attached to a mesh often one needs to think of conductivity tensors, membrane types, tissue types (segmentation), etc.
* Unstructured meshes: Hexhedral/Tetrahedral/Quadrilateral/Triangular elements: Full support for both hexahedral and tetrahedral elements ranging from segmentation to stiffness matrix generation.
* Structured meshes: MRI data often is a regular multidimension matrix.
* Automation: representation of filenames, scalar/vector/tensor parameters is need for automating networks.
* Bundling projects: Models often consist of a collection of matrices, meshes, and parameters, bundling everything into one file/directory is useful as an organizational tool. Being able to systematically organize data of current and past simulations is something that makes life easier and will lead to a higher degree of automation and more productive scientists.
* Support use of degenerate hexahedral meshes
* Support for time dependent data
** time scale can be irregular hence we need a kind of lookup system for actual time
** supporting time with in the geometrical objects
** support for time-dependent geometries
* Support for Dicom format of data, support of reading location of MRI scan to combine multiple scans into one image (orientation data is stored in these objects)
===User Interface===
* Comparison mode: One of the most useful features in SCIRun/Map3d is the dual/triple display mode to compare different datasets in displays that are locked. If we keep the SCIRun platform it would be useful to extend this to BioImage/BioTensor. What one wants to do is comparisons between datasets.
* 2D/3D widgets for marking parts of a mesh:
** Marking of locations (constraint to volume or surface or unconstraint floating in 3D volume)
** labeling widgets, e.g. different colors for stimulus electrodes and reference electrodes, adding text to widgets.
* 2D Image viewer:
** Draw/compute segmentation: automated segmentation with options for user to override segmentation made
** Overlay of different segmentations/ properties computed on the mesh/
** Annotation of slice, e.g. slice number, slice size, slice normal in physical space etc.
** Synchronized displays (e.g. sync slice number or actual z postion etc.)
* 3D data viewer:
** Transparant surfaces
** The option to switch on and off surfaces/meshes (e.g. as currently in SCIRun)
** Synchronized displays (for comparison mode)
** Display of legend, model parameters used etc in figure.
** Multimodel visualization of scalar, vector, and tensor quantitites
** Visualization on time-dependent geometries
* Graph viewer:
** Options to draw matlab like figures, with extensive options to set units, titles, grids, scales, etc.
** Draw time curves of data: being able to get time signals and display them in a graph
** Annotation of graph viewer: title, legend, axis names/numbers/units.
** Multiple lines in one graph with different colors
** Irregularly spaced x-axis for time data: the project probably requires adaptive time steps and thus sampling is not regular
** The interface should allow for creating images that can be used in publications: being able to choose amount of colors, write decent title headers, have possibility to select resolution, being able to added axis, adding symbols, being able to add legends.
CIBC:Collab:MakeigWorrel
0
959
3093
2005-12-15T21:35:17Z
Erikj
2
wikitext
text/x-wiki
== Project Description ==
The goal of this project is to support research that aims to bring MEG/EEG source localization into the epilepsy clinic. By evaluating and localizing the source of epileptic seizures one hopes the surgical procedures in which brain tissue is removed in order to stop the seizures. The project aims at using independ component analysis to split the temporal signal into independend signals and then apply a source localization algorithm to find a dipolar source in the brain.
== Project Status ==
Exploring what components are needed for this project.
== Project Progress/Development ==
Talked with Carsten on the modeling of the head and tried to figure out what the NeuroFEM/Curry software he currently uses cannot do in terms of modeling. It seems they have problems with modeling a set of intercranial electrodes that are mounted on a insulating plaque. The problem of course is that there is a large gap in conductivities between insulator and the surrounding tissue. As the sources are directly underneath the plaque, proper modeling is required. It seems we need a remeshing and fitting scheme here. The first thing to do is probably implement algorithms to reshape the brain/CSF interface to accommedate the shape of the electrode plaque, add options to make a hole in the mesh (holes are in effect insulators), add tools to detect actual locations of electrodes and add local refinement methods (mesh and data refinement: the underlying fiber orientations in the elements need to be interpolated)
--Jeroen
== Software development ==
== Technical Requirements for PSE==
===Program Infrastructure===
* Resource (Memory/CPU) management
** Working interactively with large datasets requires that data can be stored in memory and on disk.
** Dividing algorithms into small reusable components will require a lot of memory if data is stored in memory to keep interactivity alive.
** Optimization between using a lot of memory and being fast or more memory and being slow. For example for a small data set you want to store eigenvalues of a tensor, for bigger datasets keeping intermediate results will cause a lot of swapping memory and could lead to running out of addressable memory space.
* Component model: Algorithms should be fairly general and exchangable. The data quality of input varies and the goals of the simulations vary as well: hence a component model would be required, with a user interface in which components can be interchanged/omitted/added.
* Automation: Automation should be available from the interface.
**Often reoccuring scenarios are doing parameter sweeps in different domains, trying different segmenation parameters, using different membrane parameters.
** Most software uses a simple list of parameters to guide the process. A similar concept would make it easier to interact with other software. For instance CardioWave uses a textfile with parameters, most Matlab oriented software in this project uses similar parameter lists.
** Parameters to controlling application: filenames, scalar values (vector and tensor value (e.g. conductivities)) and strings (e.g. membrane models)
* External Application Interface: A mechanism to run simulations at in a different process at a different computer.
** To setup a simulation the model should be able to be export in the fileformat of the simulator
** Simulation software often requires MPI, stability and hence should run as a separate program. Since simulations in the project take time interaction is not stricly needed.
** The mechanism supported should be reliable and should support to run a simulation without crashing (simulations can take days to complete)
** It would be nice to access the NeuroFEM solver directly from the Problem Solving Environment.
* Annotation: We should have the ability to gather parameters in a simple text document (or something similar) to annotate simulations. Being able to figure out what kind of parameters were used in a simulation is valuable.
** Annotation should be preferably be generated automatically or should be scriptable, this will ease the task of the scientist.
** Keeping a log of operations performed.
* Algorithmic separation:
** Store algorithms in libraries which have standard options for error reporting and informing the user (abstract methods that can be separated from actual GUI, giving feedback e.g. warnings etc to the user is important)
** When we have figured out a way of image to model that works for a lot of cases, one wants to be able to quickly rewrite the component GUI program to a full stand-alone program.
** When having a combination of mesh generation tools that work, one may consider a program that can be called under Matlab/Mathematica without GUI for certain basic tasks.
=== Algorithms ===
* Segmentation algorithms
* Mesh generation algorithms
* Mesh editing algorithms:
** creating a hole in the mesh (for insulator)
** Fitting a model of an electrode inside a mesh.
** Mesh refinement tools to add more density at places where we expect a large gradient in the electric field
===Data Representation===
* Import/Export of "simple" data formats: text files (for example matrices in rows and columns), data blocks of a certain data type with a small header file preferably in ascii (like nrrd). Usage of the current SCIRun native file formats requires linking against a lot of C++ classes and SCIRun infrastructure, which is an obstacle in linking against other programs.
* Import/Export of parts of datasets (Simulation data can run in Gbytes of data and storing all in memory becomes problematic)
* Support for multiple data entities attached to one mesh
** Currently SCIRun allows only one type of data on a mesh, hence a lot of duplication of pipelines mark the current networks. Models seldom have one entity attached to a mesh often one needs to think of conductivity tensors, membrane types, tissue types (segmentation), etc.
* Unstructured meshes: Hexhedral/Tetrahedral/Quadrilateral/Triangular elements: Full support for both hexahedral and tetrahedral elements ranging from segmentation to stiffness matrix generation.
* Structured meshes: MRI data/confocal data often is a regular multidimension matrix.
* Automation: representation of filenames, scalar/vector/tensor parameters is need for automating networks.
* Bundling projects: Models often consist of a collection of matrices, meshes, and parameters, bundling everything into one file/directory is useful as an organizational tool. Being able to systematically organize data of current and past simulations is something that makes life easier and will lead to a higher degree of automation and more productive scientists.
* Support for a dataset spread over multiple files and selecting part of the data.
** The newest version of CarioWave regenerates multiple files while the simulation is running. Examining a few files will allow the user to look at certain timespans of the data.
* Support for time depend data
** time scale can be irregular hence we need a kind of lookup system for actual time
** supporting time with in the geometrical objects
===User Interface===
* Comparison mode: One of the most useful features in SCIRun/Map3d is the dual/triple display mode to compare different datasets in displays that are locked. If we keep the SCIRun platform it would be useful to extend this to BioImage/BioTensor. What one wants to do is comparisons between datasets.
* 2D/3D widgets for marking parts of a mesh:
** Marking of locations (constraint to volume or surface or unconstraint floating in 3D volume)
** labeling widgets, e.g. different colors for stimulus electrodes and reference electrodes, adding text to widgets.
* 2D Image viewer:
** Draw/compute segmentation: automated segmentation with options for user to override segmentation made
** Overlay of different segmentations/ properties computed on the mesh/
** Annotation of slice, e.g. slice number, slice size, slice normal in physical space etc.
** Synchronized displays (e.g. sync slice number or actual z postion etc.)
* 3D data viewer:
** Transparant surfaces
** The option to switch on and off surfaces/meshes (e.g. as currently in SCIRun)
** Synchronized displays (for comparison mode)
** Display of legend, model parameters used etc in figure.
* Graph viewer (line graphics, display function in time):
** Options to draw matlab like figures, with extensive options to set units, titles, grids, scales, etc.
** The interface should allow for creating images that can be used in publications: being able to choose amount of colors, write decent title headers, have possibility to select resolution, being able to added axis, adding symbols, being able to add legends.
** The interface should allow for multiple graphs on top of each other.
** Draw time curves of data: being able to get time signals and display them in a graph
** Annotation of graph viewer: title, legend, axis names/numbers/units.
** Multiple lines in one graph with different colors
** Irregularly spaced x-axis for time data: the project probably requires adaptive time steps and thus sampling is not regular
CIBC:Collab:Tuch
0
960
3094
2005-12-15T21:36:18Z
Erikj
2
wikitext
text/x-wiki
Dana, 17 Nov:
Just want to put down a couple notes informally on software requirements based on the talk Jeroen and I had with David Tuch a couple weeks ago: when we asked David about interaction at the level of software (as distinct from the technical side of the simulation project he, Ross, Jeroen, et al are interested in), he immediately brought up the following two items of interest:
1. Building a pipleline across multiple different heterogeneous software packages. They currently have many working algorithms of their own but they are all separate. He specifically said he is happy with their existing visualization. But he emphasized that they could use tools that would allow them to build a pipeline between their existing code, any we might provide, and others.
2. Running analyses on many datasets --- i.e his need is to define a processing pipeline ---eg. take in MR measurements, compute DW MR's on them, do tractography, compute error or comparison measures ---- and then say "go do this processing on some large number of existing data sets and show me the results"
One note, he also mentioned that he is part of NAMIC and that these items are under discussion there as well ....
CIBC:Collab:Triedman
0
961
965
2005-12-15T21:36:52Z
Erikj
2
wikitext
text/x-wiki
Dana, 17 Nov:
Although John Triedman was not an official collaborator on the grant this is a very relevant project both in application and software. Brief description is that John and Matt Jolley (a fellow working with him) want to build child-sized FEM torso models (in a variety of sizes) starting from MR or CT scans, place debifillation electrodes inside the torsos, simulate defibrillation, and then measure the currents induced in the myocardium.
The main software needs are a pipeline to do from MR or CT to an FE mesh in BioPSE, and some algorithms to measure the results. The latter seem to be relatively straightforward to do. For the former, they have been using 3DSlicer to do segmentation (I can describe in some detail what facilities they're using but don't have time right now) and are pretty happy with it. There are some problems that have to do with islands and gaps that might be worth discussing how to handle. The plan is to use CUBIT to do the meshing from within BioPSE and then existing BioPSE modules to do the simulation. Dave W. has promised some re-meshing improvements to faciliate placing/moving the electrodes. One thing that would help is a *pipelining* facility other than writing lots of files and calling separate programs.
One more comment: Matt, who is not a CS guy but very smart and pretty capable, has had lots of installation / compilation / hardware problems. This is because he needs to use development builds but still it seems to me it's harder than it should be. On the other hand he has had some nice things to say about ease of use of BioPSE and he knows and appreciates that he's been getting great support from us !
966
965
2006-01-25T14:45:01Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
Dana Brooks, PhD, SCI, NorthEastern University
David Weinstein, PhD, SCI, Utah
Steve Pieper, PhD, SPL
Gordon Kindlmann, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, and import them into SCIRun/BioPSE and assign appropriate material properties.
'''Overview of Pipeline'''
Segmentation of CT and MRI datasets using 3D Slicer
Hierarchical combination of individual label maps in NRRD format using unu
Utilizing unu modules in SCIRun to read in combined NRRDs
Utilizing the model in SCIRun/BioPSE
967
966
2006-01-25T14:48:30Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
Dana Brooks, PhD, SCI, NorthEastern University
David Weinstein, PhD, SCI, Utah
Steve Pieper, PhD, SPL
Gordon Kindlmann, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, and import them into SCIRun/BioPSE and assign appropriate material properties.
'''Overview of Pipeline'''
Segmentation of CT and MRI datasets using 3D Slicer
Hierarchical combination of individual label maps in NRRD format using unu
Utilizing unu modules in SCIRun to read in combined NRRDs
Utilizing the model in SCIRun/BioPSE
968
967
2006-01-25T15:01:44Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
Dana Brooks, PhD, SCI, NorthEastern University
David Weinstein, PhD, SCI, Utah
Steve Pieper, PhD, SPL
Gordon Kindlmann, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environement. This represents part of a expanding collaboration between SCI[] and SPL to enable rapid creation of imaging based models for modeling.
'''Overview of Pipeline'''
Segmentation of CT and MRI datasets using 3D Slicer
Hierarchical combination of individual label maps in NRRD format using unu
Utilizing unu modules in SCIRun to read in combined NRRDs
Utilizing the model in SCIRun/BioPSE
969
968
2006-01-25T15:03:24Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
Dana Brooks, PhD, SCI, NorthEastern University
David Weinstein, PhD, SCI, Utah
Steve Pieper, PhD, SPL
Gordon Kindlmann, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environement. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for modeling.
'''Overview of Pipeline'''
Segmentation of CT and MRI datasets using 3D Slicer
Hierarchical combination of individual label maps in NRRD format using unu
Utilizing unu modules in SCIRun to read in combined NRRDs
Utilizing the model in SCIRun/BioPSE
970
969
2006-01-25T15:08:33Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
Dana Brooks, PhD, SCI, NorthEastern University
David Weinstein, PhD, SCI, Utah
Steve Pieper, PhD, SPL
Gordon Kindlmann, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environement. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for modeling.
'''Overview of Pipeline'''
Segmentation of CT and MRI datasets using 3D Slicer[[Link title]]
Hierarchical combination of individual label maps in NRRD format using unu
Utilizing unu modules in SCIRun to read in combined NRRDs
Utilizing the model in SCIRun/BioPSE
995
970
2006-01-25T15:12:37Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
Dana Brooks, PhD, SCI, NorthEastern University
David Weinstein, PhD, SCI, Utah
Steve Pieper, PhD, SPL
Gordon Kindlmann, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environement. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for modeling.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
CIBC:Management
0
962
3097
2005-12-15T21:37:20Z
Erikj
2
wikitext
text/x-wiki
Here we document the management activity of the CIBC.
[[CIBC:Management:Exec | NCRR Executive Committee]]
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
CIBC:Projects
0
963
3098
2005-12-15T21:38:14Z
Erikj
2
wikitext
text/x-wiki
== Description ==
This page tracks the current and upcoming list of CIBC development projects. Projects that are currently being worked on, and projects which we intend to work on soon are listed below. At the bottom of this page is a list of links to "snapshots" of this list from previous points in time; it is intended as a historical archive. A separate page, located [[CIBC:Project:Timelines|here]] contains timelines and development schedules.
The projects below are listed based on priority. Each project has its own page, dedicated to ongoing discussion for the project. For each project we briefly summarize the main ideas, list the collaboration projects that are motivating the work, and identify and project dependencies. We also try to roughly estimate the effort required to complete the project. If a project has already been assigned, one of more names are listed next to it, along with a "percent complete" estimate.
== Compute Gradient and Gradient Magnitudes on the GPU ==
* Summary: Add fragment shader code to compute local gradient and gradient magnitude, rather than looking them up. BioImage and volume rendering modules need to be updated to support this option. Should allow volume rendering to work with much larger datasets than was previously (interactively) possible. ([[CIBC:Project:GradientsOnGPU|Full project description.]])
* Approximate Effort Required: 2 weeks
* Collaborations: McVeigh, Ellisman, Loew, Chen
* Developer: McKay Davis
* Dependencies: None
* Percent Complete: 95%
* Remaining 5%: Scale gradient magnitude correctly for 2D widgets
== Caching Control for Each SCIRun Output Port ==
* Summary: Add a UI toggle to each output port to control whether the port's data is cached. Add support to the scheduler to correctly compute which upstream modules need to re-execute based on the state of these ports. ([[CIBC:Project:PerPortCaching|Full project description.]])
* Approximate Effort Required: 2 weeks
* Collaborations: All that use SCIRun with large datasets (e.g. McVeigh, Ellisman, Henriquez, Loew, Chen, etc)
* Developer: Michael Callahan
* Dependencies: None
* Percent Complete: 10%
== map3d: Expanded display of fiducials ==
* Summary: Many applications in cardiac imaging generate sets of fiducials, e.g., a reentrant excitation pattern the includes more then one beat. In this case, map3d requires the data to be separated into fiducial sets and only one set is displayed at a time. The goal of this improvement is to support interactive display and manipulation of multiple sets of fiducials, the equivalent of looking at muliple beats or cycles and selecting the time window to display.
* Approximate Effort Required: 1 month
* Collaborators: McVeigh?, Taccardi
* Developers: Worthen and Blackham
* Dependencies: Description of file formats for saving multiple fiducial data
* Percent Complete: 0%
* [[Technical discussion]]
== map3d: Expanded display of fiducials ==
* Summary: It is often useful to display mapping data superimposed on some other geometry that serves as a visual reference, much as landmarks do already in map3d. In this case, one can imagine a heart surface geometry on which we display high resolution mapping data from electrodes that cover only a subset of the heart surface. Another example is of a torso geometry within which only a portion of the surface is covered with measurement electrodes. We want to find a way to render such combined geometries, and allow the user to choose the type of rendering for each surface to enhance the display.
* Approximate Effort Required: 1 week
* Collaborators: McVeigh, Taccardi, Henriquez?
* Developers: Worthen and Blackham
* Dependencies: Working data sets to test on
* Percent Complete: 0%
* [[Technical discussion]]
== SuperComputing 2005 Demo: BioImage on Prism ==
== SCIRun Image Viewer / Editor ==
*([[CIBC:Project:ImageViewer |Full project description.]])
== Wrapping More ITK FIlters Into SCIRun Modules ==
== Native Support for Reading Analyze and DICOM Data into SCIRun ==
== LevelSetSegmenter PowerApp ==
([[CIBC:Project:LevelSetPowerApp |Full project description.]])
== Data / Header Separation in Dataflow Objects ==
* Summary: All of the objects that are passed around in dataflow should be able to share pointers to blocks of memory. This would remove the current need for redundant copies of data when objects are converted between types (e.g. NRRDs, Fields, Matrices, InsightImages, etc). A mechanism (like SCIRun's Handles) would be required to support a destructor policy. ([[CIBC:Project:DataSeparation|Full project description.]])
* Approximate Effort Required: 4 weeks
* Collaborations: All that use SCIRun with large datasets (e.g. McVeigh, Ellisman, Henriquez, Loew, Chen, etc)
* Developers: Michael Callahan and Jeroen Stinstra
* Dependencies: None
* Percent Complete: 0%
== Separation of Module and Algorithm ==
* Summary: Currently a lot of code resides in the module class themselves which makes it harder to reuse code. One of the reasons to reuse code is that one actually wants to make modules that do a lot of different operations. If a module for instance requires an unstructured mesh, it should be smart enough to call unstructure internally. If this would be one call to a class it would be easier to implement. The ultimate goal of code separation should be to speed up development of new modules in the packages that require a new interface but mainly consist of already existing algorithms. Examples of algorithms that can be reused: unstructure, changefieldbasis, changefielddatatype, managefielddata, applymappingmatrix, mergefields, fieldboundary, distancemap etc.
* Approximate Effort Required:
* Collaborations:
* Developers:
* Dependencies: None
* Percent Complete: 0%
== Adding Mesh Element Refinement Operations ==
== Adding Mesh Query Support for MESQUITE ==
([[CIBC:Project:MeshRequirementsForMesquite|Full project description.]])
== Regression Testing System ==
== Shape Analysis Tools ==
([[CIBC:Project:ShapeAnalysisTools|Full project description.]])
== Various Other Project Links ==
Josh's Medical Imaging recommendations: [[CIBC:Imaging]]
List of project thoughts from September 2005: [[CIBC:ProjectsSep2005]]
Jeroen's model creation tools [[CIBC:Projects:ModelCreation]]
[http://software.sci.utah.edu/bugzilla Bugzilla bugs]
== Past Snapshots of Projects ==
None yet.
CIBC:Project:Timelines
0
964
3099
2005-12-15T21:38:35Z
Erikj
2
wikitext
text/x-wiki
=== Overview ===
This page is the for tracking the project and developers' schedules, as well as major upcoming events for the Center. All of the project descriptions are located [[CIBC:Projects|here]].
=== Project and Developers' Schedules ===
* Michael Callahan:
* McKay Davis:
* Darby Van Uitert:
=== Upcoming Center Events ===
* December 12-17, 2005: SuperComputing demo of BioImage on Prism
* January, 2006: CIBC Workshop
CIBC:Project:GradientsOnGPU
0
965
3100
2005-12-15T21:40:08Z
Erikj
2
wikitext
text/x-wiki
Motivation: Volume rendering can use local gradient information to approximate surface (Phong) shading in volume rendered images. Currently, we do this by precomputing the local gradient for each voxel, and sending those to the GPU. The local gradient magnitude is also a useful quantity in volume rendering, as it can be used as the second dimension (data value being the first) to which a 2D transfer function is applied. Like the gradient, the gradient magnitude is currently precomputed on the CPU, and then sent to the GPU. In practice, this means that SCIRun (and BioImage) are typically storing 5 bytes (data, grad x, grad y, grad z, grad mag) for each voxel. While it is computationally efficient to have these values available, the extra memory overhead (especially since the number isn't a power of 2!) ends up greatly reducing the utility of SCIRun's volume rendering. In practice, we would often rather sacrifice computational efficiency for memory efficiency, thus allowing us to visualize as-large-as-possible datasets with volume rendering. We can do this by computing the local gradient and gradient magnitudes on the GPU "just-in-time" (as they are needed) with a fragment program.
CIBC:Project:PerPortCaching
0
966
3101
2005-12-15T21:40:43Z
Erikj
2
wikitext
text/x-wiki
Motivation: SCIRun currently caches the output of every output port in the dataflow graph. This is useful because it means upstream don't need to be (redundantly) recomputed when a downstream module changes a parameter; however, it can also lead to memory bloat. A better solution is to support a caching toggle for each output port. If the toggle is set to true, that port will cache its result, just as it currently does. However, if the toggle is set to false, the port will not hold a copy of the data. On subsequent executions of downstream modules that require that require that data as input, the original module will now have to recompute that result, since it is no longer cached. Adding this feature will greatly increase the size of datasets that SCIRun networks and PowerApps are able to process. The first version of this project will require the user (or the network / PowerApp) to manually configure whether each output port does or does not cache its data. The second version will add support for optionally saving non-cached data to disk (and then reading them back, when needed). Further future versions could add support for automatically setting the cache / don't-cache / don't-cache-but-save-to-disk behavior for each port based on usage behavior. For example, a memory (and disk) pool could be allocated at startup, specifically for caching output data; when that pool was exhausted, datasets could be removed (and their toggle set to false) based on a least-recently-used cache replacement algorithm. Ultimately, this project should dove-tail with the larger project of [[CIBC:ProjectStateBasedHashKeysAndDatabasingForDataflowObjects | computing a hash key (based on upstream user-interface state) and storing a database entry for dataflow objects]].
Jeroen's notes on this are [[CIBC:Project:MemoryEfficiency|here]].
----
Jeroen's comments on this project:
Concerning Port-Caching, I'd like to explore the opportunity of caching to disk as well. It would be great to be able to specify whether we want data to be cached in memory, cached on disk or not cached at all. I talk with Micheal and there are currently modules that do some kind of caching within the module, if we do this we should redesign these modules that do internal caching and those that do not recompute data if they see the same input (the latter is not a proper implementation of the dataflow paradigm).
I see this as the first step in better memory management. I don't think I need datapath hashing for the files I am writing to disk (It would be a nice computer science project, but I don't see its immediate use the collaborations) Though I agree we should be able to store data to disk. It would be great to have kind of breakpoints in the network where you commit everything to disk in order to defrag memory (It is a trick I use often in my M'lab code to deal with the 32bit addressing space restrictions). Currently I have to split up my networks in tiny networks and execute them independently to avoid memory problems. I think being able to stream certain dataflows to disk may help to achive better effieciency.
I think we should first implement port caching / disk caching and then memory block improvements.
CIBC:ProjectStateBasedHashKeysAndDatabasingForDataflowObjects
0
967
3102
2005-12-15T21:41:10Z
Erikj
2
wikitext
text/x-wiki
Coming soon...
CIBC:Project:MemoryEfficiency
0
968
3103
2005-12-15T21:41:33Z
Erikj
2
wikitext
text/x-wiki
=== Port Caching ===
'''Motivation'''
Currently all intermediate results of a network are stored in memory. With large datasets as encountered in imaging and modeling, SCIRun runs out of addressable memory very fast. In both the Henriquez and McVeigh project we are already running of memory when using SCIRun. It is currently a big obstacle in obtaining results, as SCIRun just crashes as it runs out of addressable memory. Waiting until every platform is a 64bit platform is not an option
'''Experimental option to switch of port caching'''
There is currently an experimental option to switch off port caching. This solves the problems for the moment, but it is not elegant and it does not work with every module. I already had to fix a couple of my modules to work without port caching. What one wants is beter control over what is cached and what is not cached. In no caching mode it is hard to run a network again.
'''Immediate Goals'''
Upgrade all modules to work in the no port caching mode. The modules should no longer assume that once they obtain a handle to an object that it can be freed without the object being removed from memory. There are currently modules that cache internally, this should be minimized to reduce memory overhead. The goal is to add options to the port menu so we can toggle port caching on and off. Preferably we have the following options: caching on, caching on disk, caching off. This will give the user more fine tuning over what is cached and what is not. Add options to set a default caching option for each type of port in the XML description to set the most sensible caching option by default to help the user. Add the option to switch off internal caching for subnetworks, the latter will help the user organize the network more efficiently.
'''Future Goals'''
Add options for the scheduler to override caching and decide on caching on disk or no caching depending on how long it took to compute the resource and the size of the object. So when scinew detects that scirun is running out of memory more resources are relocated on disk and are removed from memory. This requires to query on how long it took to compute the a dataflow object and the amount of memory it uses. Hence it would require additional functionality in Core.
Technical discussion
0
969
3104
2005-12-15T21:42:23Z
Erikj
2
wikitext
text/x-wiki
This page should include discussion of the technical details of carrying out this change to the software.
CIBC:Project:DataSeparation
0
970
3105
2005-12-15T21:43:42Z
Erikj
2
wikitext
text/x-wiki
== Motivation ==
The next phase of the CIBC center will focus more on model generation, image segmentation and image annotation. One of the drawbacks of a dataflow network is that every step generates a new dataflow object. Currently every change to an object results into a new object with all data attached to it. One of the drawbacks is that if one wants to change only information in the annotation, one has to copy the complete object. If one does not do this, the network is not strictly a dataflow anymore. Since we can dynamically change the dataflow network in SCIRun, the savest option is to copy the object and alter the copied object. This does not always seems to make sense. For instance when I retrieve data from a field and store it in a matrix for processing, we actually only attach a different interface onto the data, but the data stays the same.
A solution to this ineffiency is the following: split the header and the data into two objects. In this case the header points to the data and is used in the dataflow scheme. If I now need to copy the object and do not intend to copy the data, I can copy the header and can leave the data intact. When going to bigger datasets this starts to make sense as addressable memory space is an issue on 32bit platforms. In this scheme objects like Image, Matrix, Nrrd, Field become interfaces to the underlying data.
This will make modules that just finetune annotation more feasible. The second reason for header/data separation is the wish for more complex objects that store for instance segmentation on top of an image. In the viewer you want these to coincide, but lateron you only want to use the segmentation for the model editing, hence one may want to put a different interface on that piece of the data.
This idea is similar to what NRRD and other header generating programs use on the file system to reduce copying a lot of data, where there are separate header files and data files.
== Requirements ==
A short list of requirements for the datablocks
[1] Most libraries seem to use one large datablock instead of a pointer array to smaller arrays to define 2D or higher dimensional arrays. So it seems logical to use large datablocks to store data. We could also add support for pointer to pointer array structures if needed (should these be linked to header or datablock).
[2] The datablocks should have their own Pio, so we can gain in file efficiency when using for instance Bundles to store data. If Pio encounters multiple handle to the same datablock it is only stored once. Hence the efficiency in the memory is maintained and will remain when the data is loaded again. Hence we should store datatype in the datablock as well.
[3] The datablocks should have their own mutexes and reference counters.
[4] A header should be able to refer to multiple datablocks.
[5] Preferably Field, Matrix, and Nrrd should use this mechanism to share data. Hopefully Josh's Annotated Image classes can use this mechanism as well.
== Status of project ==
This project is on hold until we solved the port caching and review the memory uses after finishing this project.
== Additional thoughts ==
CIBC:Project:MeshRequirementsForMesquite
0
971
3106
2005-12-15T21:44:30Z
Erikj
2
wikitext
text/x-wiki
Needed for Jason's work with MESQUITE:
1) A bunch of mesh topology questions. Given an element what are its nodes? (i.e. get parent/child functionality) Given a node, set the coordinates (i.e. move a node). Given a node, what are the coordinates? That type of thing.
2) Some "tagged" information. At one point, this was only needed with the TargetMatrix smoothers. I believe that is still the case, so if you don't need it, you can avoid implementing this part of the interface. Generally, this is something like: tag each node with double (or other type). For node x fill tag y with value z. Things like that.
3) Limited Geometry information. For a given node, give me the closest place on the geometric domain (snap_to). For a given node, what is the surface normal (for surface smoothing)? Given a node, how many degrees of freedom does it have (is it owned my a surface, curve, vertex, etc)? That is essentially all of the geometry queries, though you need to be able to answer those questions for elements and nodes. If you are doing smoothing on the interior of a volume, you don't need this part of the interface.
----
Jeroen's comments on this:
1) I think some of this functionality is already there in some meshes it is just not fully implemented for every mesh. I guess this goes back to a message I posted on the Developer's list on completing the topology functions for all the mesh classes like TriSurf and QuadSurf etc. I don't remember which classes but they indeed lack some of these functions. This would be great to have as I need these as well to draw membranes in a mesh. I am working on code that splits a mesh in specific domains, by splitting nodes for which I need the same topological data. So I see this as really useful.
2) I don't understand what you mean with tagged data, if you mean multiple data entries at the same node, then we should implement it more general, as both I and Josh like to overlay all kinds of data on an image or unstructured field. (tagging can range from a boolean segmentation mask, to more hisotological segmentation to physical quantities like membrane densitity). Often you want more statistical data to overlay your model or image. In both the model generation as the segmenetation these are very similar needs. I think we should try to figure out how we want to deal with the question: I have a lot of geometrical or physical quantities as nodal or modal data, but only one underlying mesh, do I store it as separate entities or do I allow to store them in one object? You could use a field of type bool for tagging....
3) OK the distance to element/node. I discussed this with Frank and Marty already as I need this for my geometrical processing as well. I actually already have code to find distances etc, I just need to optimize it. But we were thinking of actually implementing it in the Basis classes, which is a little more complicated as they are higher order. For higher order elements there is no analytical solution to the projection anymore, hence a element needs to be subdivided into smaller elements like what we do with the display functionality. But it seems the approximation class is already there we just need to implement the distance function. I think this functionality should go in the Basis. Concerning the degrees of freedom, I am not sure exactly what you mean, but if it is a description of the element, Frank added annotation for these things in the basis classes which describe the unit element of a certain class.
CIBC:Imaging
0
972
3107
2005-12-15T21:45:22Z
Erikj
2
wikitext
text/x-wiki
==Thoughts on Medical Imaging (MI) at the CIBC==
--[[User:Cates|Cates]] 16:22, 19 Oct 2005 (MDT)
===The current state of open-source MI software.===
*There is a growing need for open source software and, more importantly, software standards in the MI community. Several groups (e.g. NAMIC, ISC) are pushing software standards for segmentation, registration, visualization and validation.
*Standards for collaborative, open-source software development and testing are a very important part of this effort. CS and non-CS researchers, program managers and students are literally begging for reliable, tested, imaging tools that "just work out-of-the-box".
*ITK is gaining acceptance as the standard for segmentation, registration, and certain types of image processing. VTK is already an accepted standard for visualization. Both toolkits have a robust software process and good support within the community.
*Other toolkits are extending the functionality of ITK & VTK for more specific imaging and diagnostic medical applications. These toolkits have bought into the open-source process pioneered by NIH and the ITK project.
===What do other groups within the MI community do?===
*Many labs are adopting standard software "kits" such as the one promoted by NAMIC.
*Non-CS labs use a mix of custom research software and commercially available tools.
*CS labs often focus on toolkits, combining fltk, vtk, itk, tcl to produce small, tailored applications. New toolkits are appearing that add application-specific functionality to generic toolkits, e.g. MITK, IGSTK.
===What software tools are missing from the MI community?===
*Truly open-source visual programming environments.
*Advanced visualization.
*Interactive widgets. (VTK will soon set a very high bar.)
===What imaging capabilities do we currently have in SCIRun?===
*Limited support for image data.
*Limited support for ITK algorithms.
*Limited support for image visualization.
*Limited support for image interaction (widgets).
*Bottom line: There is no dedicated support for images in SCIRun. Thus far we have relied mostly on existing functionality and retro-fitted it to support image processing.
===Recommendations for the CIBC===
*More fully adopt ITK as our imaging platform. This requires a more serious commitment of resources than may have previously been made?
*Participate more actively in the MI open-source movement. We have a significant presence in this community and could more fully exploit our influence.
*Bring our software process up to the standards set by the major players in the community. Aspire to gaining the ISC and NAMIC "seal-of-approval", which potentially includes distribution of our code within a standard open-source MI software kit.
*Consider re-engineering SCIRun as a collection of lightweight modules to better support agile development and deployment.
*Think about alternatives to SCIRun. Are there combinations of other open-source toolkits we can consider that are cheaper and more flexible than SCIRun to use?
*A visual programming environment for ITK could become the community open-source standard.
*A high quality visualization application (BioImage-style) could become a community open-source standard.
*A generic segmentation PowerApp could become a community open-source standard.
For more specific ideas within SCIRun, see [[CIBC:Project:LevelSetPowerApp]] [[CIBC:Project:ImageViewer]]
===Related Links===
*[http://www.insightsoftwareconsortium.org Insight Software Consortium]
*[http://www.na-mic.org/Wiki/index.php/SoftwareInventory NAMIC Kit]
*[http://www.na-mic.org/Wiki/images/3/39/SoftwareProcess.pdf Software Process Notes]
*[http://www.itk.org ITK]
CIBC:Facility:DataStorage
0
973
3108
2005-12-15T21:47:08Z
Erikj
2
wikitext
text/x-wiki
===Hitachi Drive===
The Hitachi drive volumes are automounted as
*/usr/sci/cibc-data
*/usr/sci/cibc-projects
*/usr/sci/cibc-users
Samba mount using
*//cibcsrv.sci.utah.edu/cibc-data
*//cibcsrv.sci.utah.edu/cibc-projects
*//cibcsrv.sci.utah.edu/cibc-users
CIBC:Multimedia
0
974
3109
2005-12-15T21:47:38Z
Erikj
2
wikitext
text/x-wiki
===Movies by [[User:mdavis | McKay Davis]]===
[http://www.sci.utah.edu/~mdavis/cthead00.mpeg Chapel Hill CT head 00] - MPEG
[http://www.sci.utah.edu/~mdavis/cthead01.mpeg Chapel Hill CT head 01] - MPEG
[http://www.sci.utah.edu/~mdavis/cthead02.mpeg Chapel Hill CT head 02] - MPEG
[http://www.sci.utah.edu/~mdavis/cthead03.mpeg Chapel Hill CT head 03] - MPEG
[http://www.sci.utah.edu/~mdavis/ica05.mov UCLA CTA head (ica05)] - Quicktime MOV
CIBC:Discussion:MemoryEfficiency
0
975
3110
2005-12-15T21:48:20Z
Erikj
2
wikitext
text/x-wiki
=== Memory Efficiency ===
'''Motivation'''
When applying SCIRun techniques to real-scale modelling problems, one quickly finds out that one is running out of addressable memory space. In order to be able to use SCIRun as a platform in the current collaboration projects, memory usage needs to be organized more efficient. The focus of this discussion should be how to optimize the CPU and memory usage in a dataflow environment.
'''Port Caching'''
Currently all ports are cached at the end of the execution of a module. The advantage of this is that when I want to reexecute something all intermediate steps are there, disadvantage is that it requires a lot of memory resources which we do not have when doing large scale models.
Currently there is a solution in SCIRun to switch off all port caching, disadvantage is that you cannot redo a part of a network and all interactivity is lost.
[1] A better option would be to cache to disk and selectively not cache any output. Hence being able to do "Cache/Cache on disk/No cache" for every port.
[2] This seems to solve some problems, but there is still fragmentation of memory and address-space and on multi processor machines a lot of modules are executed in parallel so still a lot of data is remaining in memory. Only for long pipelines it is a real improvement, when there is no fragmentation of memory going on.
'''Data blocks'''
[1] One concept that might be used to deal with the fragmentation issue is to build a wrapper around every block of memory and the notion of being able to store these blocks to disk and reload them when they are needed again. In more detail: it would be great if the scheduler could go into the datastream objects, mark them as currently not used and then selectively store large data blocks to disk and reload them when they are needed for a module execution. That way when memory consumption is high the scheduler can freeze execution of modules and dump everything to disk and reload all needed data, de facto defragmenting memory.
'''Parallel Issues'''
[1] The problem soetimes seems to be that SCIRun executes too many modules at once. It uses a lot temporary memory and a lot ofmemory swapping, reducing the overall performance. It would be great to have an option to limit the number of modules executed at the same time. Preferably adjusted to the number of available modules. Being able to steer this would be great.
'''Memory manager'''
[1] How does the current allocator work? (Could someone fill me in on the specifics? -- Jeroen)
[2] It seems to me that we should grab a pretty large piece of memory to put our dataflow objects in.
'''Thirdparty libraries'''
[1] Currently we allow thirdparty libraries to allocate memory and we wrap these objects and use them. The disadvantage is that we do not have any control over where memory is allocated. So we might want to rethink what we do with thirdparty libraries
[2] Mainly Teem is allocating memory for objects we reuse, these objects can be big. So how does that affect our memory management. Is Teem currently able to allocate a huge chunk of data or even a small amount in the middle of the addressing space.
[3] In SCIRun we have a lot of STL objects that do not make use of 'scinew', do we want them to use our memory manager so we can better separate out small and large memory blocks. Or is this automatically done. Note some Field classes use large vector<vector> arrays, which could potentially fill up all the space reserved for small memory blocks. Do we have a good strategy for this?
'''Memory and CPU resource management'''
[1] It would be nice if modules could tell the scheduler a prediction on memory use and CPU use. This could then be used to optimize network performance, to use as many free memory as available to boost speed but staying within memory limits.
'''Alternative strategies'''
[1] Maybe should have the option write everything to disk, and for each module just load read in the necessary streams into memory and keep swapping thing to disk manually.
Main Page
0
1
960
959
2005-12-15T21:50:35Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== [[Events]] ===
[[NCRR NIBIB PI Meeting June 22-23 2005]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[CIBC:Projects | Current and upcoming software projects ]]
[[CIBC:Project:Timelines | Project and Developers' timelines ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
===Discussion===
[[CIBC:Discussion:MemoryEfficiency| Memory efficiency]]
=== Wiki Help ===
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
961
960
2005-12-15T21:51:08Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Events ===
[[NCRR NIBIB PI Meeting June 22-23 2005]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[CIBC:Projects | Current and upcoming software projects ]]
[[CIBC:Project:Timelines | Project and Developers' timelines ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
===Discussion===
[[CIBC:Discussion:MemoryEfficiency| Memory efficiency]]
=== Wiki Help ===
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
962
961
2005-12-15T21:53:02Z
Erikj
2
/* Wiki Help */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Events ===
[[NCRR NIBIB PI Meeting June 22-23 2005]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[CIBC:Projects | Current and upcoming software projects ]]
[[CIBC:Project:Timelines | Project and Developers' timelines ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
===Discussion===
[[CIBC:Discussion:MemoryEfficiency| Memory efficiency]]
=== Wiki Help ===
* [http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide The MediaWiki User's Guide] is a good place to start.
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
* To create a new page you can edit an existing page and create a link using the syntax: ''<nowiki>[[New Page]]</nowiki>''.
* You may also create a new page by simply visiting it. <br>For example, typing ''<nowiki>http://code.sci.utah.edu/wiki/MyNewPage</nowiki>'' into a browser will go to a blank page called ''MyNewPage'' that you can then edit.
* When creating new pages, try to follow the same naming conventions as other pages.
* The * character creates bulleted list points.
* The # character creates numbered list points.
* Some other open-source software projects using Wikis are [http://www.na-mic.org/Wiki NAMIC], [http://www.vtk.org/Wiki/VTK VTK], [http://www.itk.org/Wiki/ITK ITK].
963
962
2005-12-15T21:54:10Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Events ===
[[NCRR NIBIB PI Meeting June 22-23 2005]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[CIBC:Projects | Current and upcoming software projects ]]
[[CIBC:Project:Timelines | Project and Developers' timelines ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
===Discussion===
[[CIBC:Discussion:MemoryEfficiency| Memory efficiency]]
===Related Links===
*[http://software.sci.utah.edu SCI Institute Software Site]
*[http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCI Subversion FAQ (including CVS to SVN information)]
*[https://code.sci.utah.edu/cgi-bin/user_manage Change your Subversion password.]
*[https://code.sci.utah.edu/wsvn Browse the repository via WebSVN]
=== Wiki Help ===
* [http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide The MediaWiki User's Guide] is a good place to start.
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
* To create a new page you can edit an existing page and create a link using the syntax: ''<nowiki>[[New Page]]</nowiki>''.
* You may also create a new page by simply visiting it. <br>For example, typing ''<nowiki>http://code.sci.utah.edu/wiki/MyNewPage</nowiki>'' into a browser will go to a blank page called ''MyNewPage'' that you can then edit.
* When creating new pages, try to follow the same naming conventions as other pages.
* The * character creates bulleted list points.
* The # character creates numbered list points.
* Some other open-source software projects using Wikis are [http://www.na-mic.org/Wiki NAMIC], [http://www.vtk.org/Wiki/VTK VTK], [http://www.itk.org/Wiki/ITK ITK].
1117
963
2005-12-19T19:43:43Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Events ===
[[NCRR NIBIB PI Meeting June 22-23 2005]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[CIBC:Projects | Current and upcoming software projects ]]
[[CIBC:Project:Timelines | Project and Developers' timelines ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
===Discussion===
[[CIBC:Discussion:MemoryEfficiency| Memory efficiency]]
===Related Links===
*[http://code.sci.utah.edu:443/wiki/index.php/SCI_Code_Wiki SCI Code Wiki]
*[http://software.sci.utah.edu SCI Institute Software Site]
*[http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCI Subversion FAQ (including CVS to SVN information)]
*[https://code.sci.utah.edu/cgi-bin/user_manage Change your Subversion password.]
*[https://code.sci.utah.edu/wsvn Browse the repository via WebSVN]
=== Wiki Help ===
* [http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide The MediaWiki User's Guide] is a good place to start.
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
* To create a new page you can edit an existing page and create a link using the syntax: ''<nowiki>[[New Page]]</nowiki>''.
* You may also create a new page by simply visiting it. <br>For example, typing ''<nowiki>http://code.sci.utah.edu/wiki/MyNewPage</nowiki>'' into a browser will go to a blank page called ''MyNewPage'' that you can then edit.
* When creating new pages, try to follow the same naming conventions as other pages.
* The * character creates bulleted list points.
* The # character creates numbered list points.
* Some other open-source software projects using Wikis are [http://www.na-mic.org/Wiki NAMIC], [http://www.vtk.org/Wiki/VTK VTK], [http://www.itk.org/Wiki/ITK ITK].
CIBC:Project:ImageViewer
0
947
1061
964
2006-01-25T00:32:22Z
McKay Davis
5
wikitext
text/x-wiki
===Motivation===
First, see the definitions of images and labeled images [[CIBC:LabeledImages | here]].
When visualizing image data it is important to present the data in as raw a form as possible
so as not to obscure information content or introduce erroneous information content. Typically
this means displaying higher dimensional data in 2D slices on a grid whose spacing matches that
of the image data, with no filtering, interpolation, or other transformations applied.
When image data has multiple channels (vector-valued data points), each channel may be displayed
separately or colored using an appropriate map for the data (e.g. rgb pixels). For common
imaging tasks such as segmentation and registration, it is critical that a user be able to visualize
image data in this way.
===SCIRun ImageViewer Module===
For SCIRun I propose a new visualization module that incorporates the above ideas. It should have
the following list of features.
*Presents image data of 2 and higher dimensions in successive 2D slices. The slice domain defaults to the first two fastest-increasing axes in the data, with the ability to permute the choice of axes as needed. Reslicing the image along a new axis should not involve transforming or otherwise interpolating the data.
*The user should be able to toggle between views of the data in isotropic pixel-space and isotropic real space. The pixel-space display is the most raw view, where no interpolation of the data is necessary other than nearest-neighbor interpolation when resizing the display window (zooming). The real-space display may require resampling of exactly one of the display axes to match the spacing of the other display axis. This resampling should use nearest neighbor interpolation, with the option for linear interpolation if desired.
*Navigational controls to allow stepping forward and backward through slices of the data, reslicing, and zooming in and out of regions of interest.
*Image information such as image extent, spacing, and view orientation should be displayed for the user.
*The usual SCIRun support for color mapping the data.
*Functionality for overlaying [[CIBC:LabeledImages | labeled image]] masks (segmentations) on the original image data.
*Interaction should include: probing image values and locations with the mouse, drawing labeled images directly into the display window.
Additional bells and whistles to consider:
*Navigational controls that orient the user to the slice location within the higher dimensional image domain.
===Example Images===
The following images are taken from the UNC image viewer application in common use in the ITK community. They illustrate something akin to what I have in mind for the SCIRun viewer. The data presented on the overlay is information about the image size and spacing. The data at the lower-right corner of the display shows the position of the mouse and the pixel value at that position.
[[Image:UNCImageViewer1.jpg|thumbnail|100px]]
[[Image:UNCImageViewer2.jpg|thumbnail|100px]]
This next example shows a labeled region in green overlaid on top of the original image. This green section could be the result of an automatic segmentation, a hand-drawn segmentation, or some combination of both.
[[Image:OverlayExample.jpg|thumbnail|100px]]
===Painter Documentation===
-cd to the directory containing the files to be segmented
> cd /Volumes/cibc.data.sci.utah.edu/CapecchiMouseStudy/April13
-startup the segmenter, the first parameter is the underlying data, the second parameter is the first segmented volume, and the third is the second segmented volume:
/scratch/mdavis/SCIRun/bin/segment hox-wt-04132005.nhdr hox-wt-04132005-hand-digit4-metacarpal.nhdr
+,- Keys zoom in and out
Up/Down change current layer (volume)
Left/Right change stacing position of current layer (volume)
Middle-Mouse-Button set other views
Mouse-Scroll-Up changes current slice to next slice
Mouse-Scroll-Down changes current slice to previous slice
Shift-Left-Mouse-Button-Drag Grabs and pans current window
Shift-Right-Mouse-Button-Drag Zooms current window in and out
Shift-Middle-Mouse-Button-Click Autoviews current volume in current window
'F' button - starts flood fill tool:
*Right mouse button sets current value to flood fill with
*Left mouse button sets seed point and performs flood fill
'G' button - starts paint tool:
*Left mouse button paints
*Scroll wheel changes brush size
*Right mouse button quits tool
Segmentation of CT and MRI datasets using 3D Slicer
0
976
971
2006-01-25T15:18:38Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation of CT and MRI Datasets using 3D Slicer ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain.
3D Slicer is available on numerous platforms and can be obtained here.[]
[[Getting Started]]
972
971
2006-01-25T15:19:22Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain.
3D Slicer is available on numerous platforms and can be obtained here.[]
[[Getting Started]]
973
972
2006-01-25T15:20:11Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain.
3D Slicer is available on numerous platforms and can be obtained here[http://www.slicer.org/].
[[Getting Started]]
974
973
2006-01-25T15:29:02Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain.
3D Slicer is available on numerous platforms and can be obtained here[http://www.slicer.org/].
[[Getting Started]]
The first step is to obtain the 3D slicer program as detailed on the 3D slicer site linked above. You should familiarize yourself with the program by the Tutorial listed on that site.
[[Modifying Data]]
Once you are comfortable importing DICOM datasets turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the Modifying Data section.
975
974
2006-01-25T15:29:47Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain.
3D Slicer is available on numerous platforms and can be obtained here[http://www.slicer.org/].
'''Getting Started'''
The first step is to obtain the 3D slicer program as detailed on the 3D slicer site linked above. You should familiarize yourself with the program by the Tutorial listed on that site.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the Modifying Data section.
976
975
2006-01-25T15:41:20Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment DICOm dataset however.
3D Slicer is available on numerous platforms and can be obtained here[http://www.slicer.org/].
'''Getting Started'''
The first step is to obtain the 3D slicer program as detailed on the 3D slicer site linked above. You should familiarize yourself with the program by the Tutorial listed on that site.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the Modifying Data section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important UNDO tools.
'''Saving Data'''
At the end of the Modifying Data section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the NRRD format created by Dr. Kindlmann.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file.
977
976
2006-01-25T15:41:59Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment DICOm dataset however.
3D Slicer is available on numerous platforms and can be obtained here[http://www.slicer.org/].
'''Getting Started'''
The first step is to obtain the 3D slicer program as detailed on the 3D slicer site linked above. You should familiarize yourself with the program by the Tutorial listed on that site.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important UNDO tools.
'''Saving Data'''
At the end of the Modifying Data section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the NRRD format created by Dr. Kindlmann.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file.
978
977
2006-01-25T15:42:38Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment DICOm dataset however.
3D Slicer is available on numerous platforms and can be obtained here[http://www.slicer.org/].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by the Tutorial listed on that site.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important UNDO tools.
'''Saving Data'''
At the end of the Modifying Data section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the NRRD format created by Dr. Kindlmann.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file.
979
978
2006-01-25T15:44:36Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however.
3D Slicer is available on numerous platforms and can be obtained here[http://www.slicer.org/].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by the Tutorial listed on that site.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important UNDO tools. The draw function will also be useful.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the Modifying Data section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the NRRD format created by Dr. Kindlmann.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file.
980
979
2006-01-25T15:47:38Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however.
3D Slicer is available on numerous platforms and can be obtained here[http://www.slicer.org/].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by the Tutorial listed on that site.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important UNDO tools. The draw function will also be useful.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the Modifying Data section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the NRRD format created by Dr. Kindlmann.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
981
980
2006-01-25T15:52:50Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however.
3D Slicer is available on numerous platforms and can be obtained here[http://www.slicer.org/].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by the Tutorial listed on that site.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important UNDO tools. The draw function will also be useful.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the Modifying Data section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the NRRD format created by Dr. Kindlmann. The window to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
1001
981
2006-01-25T15:54:40Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however.
3D Slicer is available on numerous platforms and can be obtained here[http://www.slicer.org/].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by the Tutorial listed on that site.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important UNDO tools. The draw function will also be useful.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the Modifying Data section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the NRRD format created by Dr. Kindlmann. The window to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
Hierarchical combination of individual label maps in NRRD format using unu
0
977
982
2006-01-25T16:00:22Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' wgucg is part of the larger TEEM libary. unu which is a command line tool to maipulate NRRD files.
983
982
2006-01-25T16:01:57Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary. ''unu'' which is a command line tool to maipulate NRRD files. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
984
983
2006-01-25T16:03:12Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary. ''unu'' which is a command line tool to maipulate NRRD files. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
985
984
2006-01-25T16:11:33Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary. ''unu'' which is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
986
985
2006-01-25T16:11:55Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
987
986
2006-01-25T16:12:13Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
988
987
2006-01-25T16:14:13Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
989
988
2006-01-25T16:14:47Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''unu scripts'''
990
989
2006-01-25T16:15:29Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
991
990
2006-01-25T16:18:03Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary[http://www.example.com link title]. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
992
991
2006-01-25T16:19:01Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary[http://teem.sourceforge.net/index.html]. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
Hierarchical combination of individual label maps in NRRD format using unu
0
977
993
992
2006-01-25T16:29:08Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary[http://teem.sourceforge.net/index.html]. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
Obtain TEEM and familiarize yourself with the various ''unu'' commands listed here[http://teem.sourceforge.net/unrrdu/index.html]. There are various ways to combined NRRDs hierarchically but given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created
994
993
2006-01-25T16:33:17Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary[http://teem.sourceforge.net/index.html]. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
Obtain TEEM and familiarize yourself with the various ''unu'' commands listed here[http://teem.sourceforge.net/unrrdu/index.html]. There are various ways to combined NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
1000
994
2006-01-25T16:33:41Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary[http://teem.sourceforge.net/index.html]. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
Obtain TEEM and familiarize yourself with the various ''unu'' commands listed here[http://teem.sourceforge.net/unrrdu/index.html]. There are various ways to combined NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
3112
1000
2006-01-25T16:41:29Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary[http://teem.sourceforge.net/index.html]. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
Obtain TEEM and familiarize yourself with the various ''unu'' commands listed here[http://teem.sourceforge.net/unrrdu/index.html]. There are various ways to combined NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:41, 25 Jan 2006 (MST)
CIBC:Collab:Triedman
0
961
996
995
2006-01-25T16:35:18Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
Dana Brooks, PhD, SCI, NorthEastern University
David Weinstein, PhD, SCI, Utah
Steve Pieper, PhD, SPL
Gordon Kindlmann, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environement. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for modeling.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
997
996
2006-01-25T16:35:33Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
Dana Brooks, PhD, SCI, NorthEastern University
David Weinstein, PhD, SCI, Utah
Steve Pieper, PhD, SPL
Gordon Kindlmann, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environement. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for modeling.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
998
997
2006-01-25T16:37:17Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
Dana Brooks, PhD, SCI, NorthEastern University
David Weinstein, PhD, SCI, Utah
Steve Pieper, PhD, SPL
Gordon Kindlmann, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environement. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for modeling within the SCIRun/BioPSE environment.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
999
998
2006-01-25T16:38:02Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
Dana Brooks, PhD, SCI, NorthEastern University
David Weinstein, PhD, SCI, Utah
Steve Pieper, PhD, SPL
Gordon Kindlmann, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for utilization in SCIRun/BioPSE.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1006
999
2006-01-25T16:38:33Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
Dana Brooks, PhD, SCI, NorthEastern University
David Weinstein, PhD, SCI, Utah
Steve Pieper, PhD, SPL
Gordon Kindlmann, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for utilization in SCIRun/BioPSE.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1007
1006
2006-01-25T16:56:27Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for utilization in SCIRun/BioPSE.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1008
1007
2006-01-25T16:56:40Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for utilization in SCIRun/BioPSE.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1009
1008
2006-01-25T16:56:55Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for utilization in SCIRun/BioPSE.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1010
1009
2006-01-25T20:23:55Z
Matthew.jolley@tch.harvard.edu
23
/* Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment */
wikitext
text/x-wiki
== Modleing of Inmplantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for utilization in SCIRun/BioPSE.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1011
1010
2006-01-25T20:24:46Z
Matthew.jolley@tch.harvard.edu
23
/* Relatively Rapid Creation of Models from DICOM datasets for use in the SCIRun/BIOPSE Environment */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of a expanding collaboration between SCI[http://www.sci.utah.edu/] and SPL[http://splweb.bwh.harvard.edu:8000/] to enable rapid creation of imaging based models for utilization in SCIRun/BioPSE.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1012
1011
2006-01-27T07:38:08Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between SCI[http://www.sci.utah.edu/ SCI] and SPL[http://splweb.bwh.harvard.edu:8000/ SPL] to enable rapid creation of imaging based models for utilization in SCIRun/BioPSE.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1020
1012
2006-01-27T07:38:45Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to enable rapid creation of imaging based models for utilization in SCIRun/BioPSE.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical combination of individual label maps in NRRD format using unu]]
[[Utilizing unu modules in SCIRun to read in combined NRRDs]]
[[Utilizing the model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1021
1020
2006-01-27T08:22:27Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to enable rapid creation of imaging based models for utilization in SCIRun/BioPSE.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Model in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1022
1021
2006-01-27T08:23:38Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to enable rapid creation of imaging based models for utilization in SCIRun/BioPSE.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1037
1022
2006-01-27T08:29:58Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
Segmentation of CT and MRI datasets using 3D Slicer
0
976
1002
1001
2006-01-25T16:42:00Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however.
3D Slicer is available on numerous platforms and can be obtained here[http://www.slicer.org/].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by the Tutorial listed on that site.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important UNDO tools. The draw function will also be useful.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the Modifying Data section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the NRRD format created by Dr. Kindlmann. The window to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1013
1002
2006-01-25T16:42:41Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however.
3D Slicer is available on numerous platforms and can be obtained here[http://www.slicer.org/].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by the Tutorial listed on that site.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the Modifying Data section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the NRRD format created by Dr. Kindlmann. The window to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1014
1013
2006-01-27T07:44:22Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however.
3D Slicer is available on numerous platforms and can be obtained [http://www.slicer.org/ here].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by the Tutorial listed on that site.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the Modifying Data section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the NRRD format created by Dr. Kindlmann. The window to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1015
1014
2006-01-27T07:49:48Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however.
3D Slicer is available on numerous platforms and can be obtained [http://www.slicer.org/ here].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. The documentation for slicer is excellent. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the[http://teem.sourceforge.net/nrrd/title NRRD format]NRRD format created by Dr. Kindlmann. The window to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1016
1015
2006-01-27T07:51:07Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however.
3D Slicer is available on numerous platforms and can be obtained [http://www.slicer.org/ here].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. The documentation for slicer is excellent. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format] created by Dr. Kindlmann. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1017
1016
2006-01-27T07:57:50Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however.
3D Slicer is available on numerous platforms and can be obtained [http://www.slicer.org/ here].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. The documentation for slicer is excellent. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format] created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu] which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1064
1017
2006-01-27T08:00:11Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however. 3D Slicer is available precompiled for numerous platforms and can be obtained [http://www.slicer.org/ here].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. The documentation for slicer is excellent. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format] created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu] which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer
0
978
1003
2006-01-25T16:43:34Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Toolbox of Algorithms for Segmentation ==
3113
1003
2006-01-25T16:46:02Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Toolbox of Algorithms for Segmentation ==
'''Thresholding'''
Thresholding is a good place to start and is a particularly good toolf for highly homogeneous voxels with a unique intensity in the image. An example of this is bone.
''This page is a work in progress.''
Utilizing unu modules in SCIRun to read in combined NRRDs
0
979
1004
2006-01-25T16:52:42Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Unu Tools in SCIRun'''
Dr. Weinstein and others have encapsulated the power of many of the TEEM tools, including each of the individual ''unu'' tools into modules within SCIRun. These are listed under the modules reference on the SCIRun site [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html]. These modules along with other TEEM tools incorported into SCIRun allow you to convert the combined.nrrd file into a usable SCIRun field for subsequent meshing.
''This page is under construction.''
1005
1004
2006-01-25T16:53:47Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Unu Tools in SCIRun'''
Dr. Weinstein and others have encapsulated the power of many of the TEEM tools, including each of the individual ''unu'' tools into modules within SCIRun. These are listed under the modules reference on the SCIRun site [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html]. These modules along with other TEEM tools incorported into SCIRun allow you to convert the combined.nrrd file into a usable SCIRun field for subsequent meshing.
''This page is under construction.''
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:53, 25 Jan 2006 (MST)
1019
1005
2006-01-25T16:54:23Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Unu Tools in SCIRun'''
Dr. Weinstein and others have encapsulated the power of many of the TEEM tools, including each of the individual ''unu'' tools into modules within SCIRun. These are listed under the modules reference on the SCIRun site [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html]. These modules along with other tools incorported into SCIRun allow you to convert the combined.nrrd file into a usable SCIRun field for subsequent meshing.
''This page is under construction.''
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:53, 25 Jan 2006 (MST)
3114
1019
2006-01-27T08:19:06Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Unu Tools in SCIRun'''
The prior steps have outlined the creation and combination of label maps. The combined label map can then be imported into SCIRun/BioPSE for modeling. Dr. Weinstein and others have encapsulated the power of many of the TEEM tools into modules within SCIRun to facilitate the manipulation of the NRRD prior to conversion to a field or meshing. These are listed under the [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html modules reference]on the SCIRun site.
''This page is under construction.''
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:53, 25 Jan 2006 (MST)
Utilizing the model in SCIRun/BioPSE
0
980
1018
2006-01-25T16:57:36Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
''Under construction''
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
3115
1018
2006-01-27T08:03:43Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
''Under construction''
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
Talk:CIBC:Collab:Triedman
1
981
3116
2006-01-25T20:30:27Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Project Description ==
Hierarchical Combination of Individual Volumes to Form a Combined Model
0
982
1023
2006-01-27T08:40:47Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful tool called ''unu'' which is part of the larger TEEM libary[http://teem.sourceforge.net/index.html]. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
Obtain TEEM and familiarize yourself with the various ''unu'' commands listed here[http://teem.sourceforge.net/unrrdu/index.html]. There are various ways to combined NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:41, 25 Jan 2006 (MST)
1024
1023
2006-01-27T08:45:41Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful set of tools to manipulate NRRDs called [http://teem.sourceforge.net/unrrdu/ ''unu''] which is part of the larger [http://teem.sourceforge.net/index.html TEEM libary]. ''unu'' is a command line tool to manipulate NRRD files just like you were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu''. The power of ''unu'' has also been encapsulated in SCIRun modules available in the current SCIRun distribution.
To do this you need to make:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
Obtain TEEM and familiarize yourself with the various ''unu'' commands listed here[http://teem.sourceforge.net/unrrdu/index.html]. There are various ways to combined NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:41, 25 Jan 2006 (MST)
1073
1024
2006-01-27T08:52:10Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful set of tools to manipulate NRRDs called [http://teem.sourceforge.net/unrrdu/ ''unu''] which is part of the larger [http://teem.sourceforge.net/index.html TEEM library]. We use unu to combine NRRDs as if we were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu'', which is why the NRRD format is utilized for this project.
'''Combining NRRDs'''
You will need to make the following label maps, or analogous ones, in 3D Slicer. We use the example of the torso:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
[http://teem.sourceforge.net/unrrdu/index.html Obtain Teem] and familiarize yourself with the various ''unu'' commands. There are various ways to combined NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:41, 25 Jan 2006 (MST)
Importing, Resampling, and Defining Axes of a Model in SCIRun
0
983
1046
2006-01-27T08:41:58Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Unu Tools in SCIRun'''
The prior steps have outlined the creation and combination of label maps. The combined label map can then be imported into SCIRun/BioPSE for modeling. Dr. Weinstein and others have encapsulated the power of many of the TEEM tools into modules within SCIRun to facilitate the manipulation of the NRRD prior to conversion to a field or meshing. These are listed under the [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html modules reference]on the SCIRun site.
''This page is under construction.''
Modeling and Visualization of Models in SCIRun/BioPSE
0
984
1025
2006-01-27T08:43:06Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
''Under construction''
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1026
1025
2006-01-27T10:56:53Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here].
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1027
1026
2006-01-27T10:59:22Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1028
1027
2006-01-27T11:12:36Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
'''Meshing'''
SCIRun has the ability to take the voxels represented in the
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. There is wide variation and care should be taken in choosing them. These can then be entered using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Inserting Arbitraryly Shaped Electrodes into the Model'''
We are interested in solving the forward problem for an electric field created by internal inplantable defibrillator electrodes in inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this did not exist in SCIRun 1.24.2 and is currently being developed.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1029
1028
2006-01-27T11:14:49Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
'''Meshing'''
SCIRun has the ability to take the voxels represented in the
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. There is wide variation and care should be taken in choosing them. These can then be entered using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Inserting Arbitraryly Shaped Electrodes into the Model'''
We are interested in solving the forward problem for an electric field created by internal inplantable defibrillator electrodes in inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this did not exist in SCIRun 1.24.2 and is currently being developed.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1030
1029
2006-01-27T11:15:06Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
'''Meshing'''
SCIRun has the ability to take the voxels represented in the
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. There is wide variation and care should be taken in choosing them. These can then be entered using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Inserting Arbitraryly Shaped Electrodes into the Model'''
We are interested in solving the forward problem for an electric field created by internal inplantable defibrillator electrodes in inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this did not exist in SCIRun 1.24.2 and is currently being developed.
''Under Construction''
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1031
1030
2006-01-27T11:21:55Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered witin a net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Solving the forward problem
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes in inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this did not exist in SCIRun 1.24.2 and is currently being developed.
''Under Construction''
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1032
1031
2006-01-27T11:26:05Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to do this are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes in inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this did not exist in SCIRun 1.24.2 and is currently being developed.
''Under Construction''
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1033
1032
2006-01-27T11:30:14Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of function nets will then be described using examples.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to do this are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes in inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this did not exist in SCIRun 1.24.2 and is currently being developed.
''Under Construction''
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1034
1033
2006-01-27T11:30:41Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of function nets will then be described using examples.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to do this are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes in inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this did not exist in SCIRun 1.24.2 and is currently being developed.
''Under Construction''
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1035
1034
2006-01-27T11:32:47Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of function nets will then be described using examples.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to do this are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes in inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this did not exist in SCIRun 1.24.2 and is currently being developed.
'''Functional Example Net as a Tutorial'''
Currently under development
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
Modeling and Visualization of Models in SCIRun/BioPSE
0
984
1036
1035
2006-01-27T11:33:01Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of function nets will then be described using examples.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to do this are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes in inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this did not exist in SCIRun 1.24.2 and is currently being developed.
'''Functional Example Net as a Tutorial'''
Currently under development
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1050
1036
2006-01-27T11:35:01Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of function nets will then be described using examples.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole this are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes in inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this did not exist in SCIRun 1.24.2 and is currently being developed.
'''Functional Example Net as a Tutorial'''
Currently under development
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1056
1050
2006-01-27T16:27:57Z
Matthew.jolley@tch.harvard.edu
23
/* FEM Modeling of Electric Fields in Models */
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of function nets will then be described using examples.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole this are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this did not exist in SCIRun 1.24.2 and is currently being developed.
'''Functional Example Net as a Tutorial'''
Currently under development
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1057
1056
2006-01-27T16:35:55Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of function nets will then be described using examples.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole this are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Currently under development
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1059
1057
2006-01-27T16:37:28Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of function nets will then be described using examples.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole this are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1060
1059
2006-01-27T16:42:15Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people.
The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of function nets will then be described using examples.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1062
1060
2006-01-27T16:53:20Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of function nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1063
1062
2006-01-28T04:54:52Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1069
1063
2006-01-28T04:55:51Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for modeling electric fields in biological tissues. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1081
1069
2006-01-28T16:15:46Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in anatomically acurate image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
File:Torsoele1.jpg
6
985
3120
2006-01-27T13:31:11Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
CIBC:Collab:Triedman
0
961
1038
1037
2006-01-27T13:37:00Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1039
1038
2006-01-27T13:37:46Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
Image: Torsoele1.jpg
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1040
1039
2006-01-27T13:41:32Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsoele1.jpg]logo]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1041
1040
2006-01-27T13:50:21Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|thumb|]] [[Image:Torsoele1.jpg1.jpg|thumb|]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1042
1041
2006-01-27T13:50:41Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|thumb|]] [[Image:Torsoele1.jpg|thumb|]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1043
1042
2006-01-27T14:19:07Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:35, 25 Jan 2006 (MST)
1044
1043
2006-01-27T14:26:22Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Introduction'''
Due to technical issues surrounding the placement of Implantable Cardiac Defibrillators in children, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Our goal is model defibrillation in child torso models to gain insight into this important problem.
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
1045
1044
2006-01-27T14:27:35Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Introduction'''
Due to technical issues surrounding the placement of Implantable Cardiac Defibrillators in children, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Our goal is model defibrillation in child torso models to gain insight into this important problem.
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
1051
1045
2006-01-27T14:28:09Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
'''Introduction'''
Due to technical issues surrounding the placement of Implantable Cardiac Defibrillators in children, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
1052
1051
2006-01-27T16:29:09Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
Site best viewed with Firefox
'''Introduction'''
Due to technical issues surrounding the placement of Implantable Cardiac Defibrillators in children, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
1053
1052
2006-01-27T16:29:51Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]Site best viewed with Firefox Browser
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
Site best viewed with Firefox
'''Introduction'''
Due to technical issues surrounding the placement of Implantable Cardiac Defibrillators in children, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
1054
1053
2006-01-27T16:30:41Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
Site best viewed with Firefox
'''Introduction'''
Due to technical issues surrounding the placement of Implantable Cardiac Defibrillators in children, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
1055
1054
2006-01-27T16:31:49Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
'''Introduction'''
Due to technical issues surrounding the placement of Implantable Cardiac Defibrillators in children, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
1058
1055
2006-01-27T16:34:07Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
'''Introduction'''
Due to technical issues surrounding the placement of Implantable Cardiac Defibrillators in children, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1070
1058
2006-01-27T16:39:08Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
'''Introduction'''
Due to technical issues surrounding the placement of Implantable Cardiac Defibrillators in children, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goal of Project'''
Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to streamline mathematical modeling and visualization of MR and CT based models.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1074
1070
2006-01-28T16:28:10Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
'''Introduction'''
Due to technical issues surrounding the placement of Implantable Cardiac Defibrillators in children, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goals of Project'''
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the electrode elements for which electrical properties can be independently and adaptively set.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1075
1074
2006-01-28T17:15:51Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
'''Introduction'''
Due to technical issues surrounding the placement of Implantable Cardiac Defibrillators in children, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goals of Project'''
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the electrode elements for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model various placement of internal defibrillar electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in the children of various sizes.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1076
1075
2006-01-28T17:16:17Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
'''Introduction'''
Due to technical issues surrounding the placement of Implantable Cardiac Defibrillators in children, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goals of Project'''
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the electrode elements for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model various placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in the children of various sizes.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1077
1076
2006-01-28T17:23:24Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
'''Introduction'''
Due to the variety of sizes and shapes of children, inserting Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goals of Project'''
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the electrode elements for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
File:Torsovis1.jpg
6
986
3121
2006-01-27T13:48:43Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
File:Heartele.jpg
6
987
3122
2006-01-27T14:02:16Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
File:Resamplenet.jpg
6
988
3123
2006-01-27T14:49:45Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
File:Nrrdresample.jpg
6
989
3124
2006-01-27T14:50:30Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
Importing, Resampling, and Defining Axes of a Model in SCIRun
0
983
1047
1046
2006-01-27T14:57:18Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Unu Tools in SCIRun'''
The prior steps have outlined the creation and combination of label maps. The combined label map can then be imported into SCIRun/BioPSE for modeling. Dr. Weinstein and others have encapsulated the power of many of the TEEM tools into modules within SCIRun to facilitate the manipulation of the NRRD prior to conversion to a field or meshing. These are listed under the [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html modules reference] on the SCIRun site.
The first step is to use the NRRDReader from Teem to import the NRRD. The second step is to define axis, define number of bins, define axis, and resample the data to allow work with large datasets on typical workstations. This can be done with the following net.
[[Image:nrrdresample.jpg|250px|left]]
The ResampleNrrd is a Subnet which can be expanded to show it's contents
[[Image:resamplenet.jpg|250px|left]]
''This page is under construction.''
1048
1047
2006-01-27T15:01:50Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Unu Tools in SCIRun'''
The prior steps have outlined the creation and combination of label maps. The combined label map can then be imported into SCIRun/BioPSE for modeling. Dr. Weinstein and others have encapsulated the power of many of the TEEM tools into modules within SCIRun to facilitate the manipulation of the NRRD prior to conversion to a field or meshing. These are listed under the [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html modules reference] on the SCIRun site.
The first step is to use the NRRDReader from Teem to import the NRRD. The second step is to define axis, define number of bins, define axis, and resample the data to allow work with large datasets on typical workstations. This can be done with the following net.
[[Image:nrrdresample.jpg|250px|center]]
The ResampleNrrd is a Subnet which can be expanded to show the modules it is made up of. Subnets are useful for reducing clutter when your nets get complicated.
[[Image:resamplenet.jpg|250px|center]]
1049
1048
2006-01-27T16:21:28Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Unu Tools in SCIRun'''
The prior steps have outlined the creation and combination of label maps. The combined label map can then be imported into SCIRun/BioPSE for modeling. Dr. Weinstein and others have encapsulated the power of many of the TEEM tools into modules within SCIRun to facilitate the manipulation of the NRRD prior to conversion to a field or meshing. These are listed under the [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html modules reference] on the SCIRun site.
The first step is to use the NRRDReader from Teem to import the NRRD. The second step is to define axis, define number of bins(equal to the number of tissues), and resample the data to allow work with large datasets on typical workstations. This can be done with the following net.
[[Image:nrrdresample.jpg|250px|center]]
The ResampleNrrd is a Subnet which can be expanded to show the modules it is made up of. Subnets are useful for reducing clutter when your nets get complicated.
[[Image:resamplenet.jpg|250px|center]]
1097
1049
2006-01-27T16:23:49Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Unu Tools in SCIRun'''
The prior steps have outlined the creation and combination of label maps. The combined label map can then be imported into SCIRun/BioPSE for modeling. Dr. Weinstein and others have encapsulated the power of many of the TEEM tools into modules within SCIRun to facilitate the manipulation of the NRRD prior to conversion to a field or meshing. These are listed under the [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html modules reference] on the SCIRun site.
The first step is to use the NRRDReader from Teem to import the NRRD. The second step is to define axis, define number of bins(equal to the number of tissues), and resample the data to allow work with large datasets on typical workstations. This can be done with the following net.
[[Image:nrrdresample.jpg|250px|center]]
The ResampleNrrd is a Subnet which can be expanded to show the modules it is made up of. Subnets are useful for reducing clutter when your nets get complicated.
[[Image:resamplenet.jpg|250px|center]]
The output of this set of modules with appropriately set parameters in each of the modules is then ready for use in the SCIRun environment.
File:Slicer-icon.jpg
6
990
3125
2006-01-27T18:54:42Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
File:SCI logo.jpg
6
991
3126
2006-01-27T18:55:08Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
File:Splcircle-small-noline.gif
6
992
3127
2006-01-27T19:07:17Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
CIBC:Project:ImageViewer
0
947
1138
1061
2006-01-27T20:28:42Z
McKay Davis
5
wikitext
text/x-wiki
===Motivation===
First, see the definitions of images and labeled images [[CIBC:LabeledImages | here]].
When visualizing image data it is important to present the data in as raw a form as possible
so as not to obscure information content or introduce erroneous information content. Typically
this means displaying higher dimensional data in 2D slices on a grid whose spacing matches that
of the image data, with no filtering, interpolation, or other transformations applied.
When image data has multiple channels (vector-valued data points), each channel may be displayed
separately or colored using an appropriate map for the data (e.g. rgb pixels). For common
imaging tasks such as segmentation and registration, it is critical that a user be able to visualize
image data in this way.
===SCIRun ImageViewer Module===
For SCIRun I propose a new visualization module that incorporates the above ideas. It should have
the following list of features.
*Presents image data of 2 and higher dimensions in successive 2D slices. The slice domain defaults to the first two fastest-increasing axes in the data, with the ability to permute the choice of axes as needed. Reslicing the image along a new axis should not involve transforming or otherwise interpolating the data.
*The user should be able to toggle between views of the data in isotropic pixel-space and isotropic real space. The pixel-space display is the most raw view, where no interpolation of the data is necessary other than nearest-neighbor interpolation when resizing the display window (zooming). The real-space display may require resampling of exactly one of the display axes to match the spacing of the other display axis. This resampling should use nearest neighbor interpolation, with the option for linear interpolation if desired.
*Navigational controls to allow stepping forward and backward through slices of the data, reslicing, and zooming in and out of regions of interest.
*Image information such as image extent, spacing, and view orientation should be displayed for the user.
*The usual SCIRun support for color mapping the data.
*Functionality for overlaying [[CIBC:LabeledImages | labeled image]] masks (segmentations) on the original image data.
*Interaction should include: probing image values and locations with the mouse, drawing labeled images directly into the display window.
Additional bells and whistles to consider:
*Navigational controls that orient the user to the slice location within the higher dimensional image domain.
===Example Images===
The following images are taken from the UNC image viewer application in common use in the ITK community. They illustrate something akin to what I have in mind for the SCIRun viewer. The data presented on the overlay is information about the image size and spacing. The data at the lower-right corner of the display shows the position of the mouse and the pixel value at that position.
[[Image:UNCImageViewer1.jpg|thumbnail|100px]]
[[Image:UNCImageViewer2.jpg|thumbnail|100px]]
This next example shows a labeled region in green overlaid on top of the original image. This green section could be the result of an automatic segmentation, a hand-drawn segmentation, or some combination of both.
[[Image:OverlayExample.jpg|thumbnail|100px]]
===Painter Segmentation Steps / Documentation===
First, goto to the directory containing the files to be segmented
> cd /usr/sci/cibc-data/CappechiMouseStudy/LanceEditsJan2006
Then, start the segmenter, the first parameter is the Mouse CT Scan, the second parameter is segmented volume
> segment May8-source.nhdr May8-digit2-metacarpal.nhdr
Reference Actions:
'+,-' Keys - zoom in and out
'Up,Down' Keys - change current layer (volume)
'Left,Right' Keys - change stacing position of current layer (volume)
'o,p' Keys - decreaese/increase current layer opacity
'r' Key - resets color lookup table window level and width to default
Middle-Mouse-Button- starts Probe tool which sets other views to intersect at cursor
Mouse-Scroll-Up, or '>' key - changes current slice to next slice
Mouse-Scroll-Down, or '<' key - changes current slice to previous slice
Shift-Left-Mouse-Button-Drag - grabs and pans current window
Shift-Right-Mouse-Button-Drag - Zooms current window in and out
Shift-Middle-Mouse-Button-Click - Autoviews current volume in current window
'f' Key - Starts Flood Fill tool:
*Right mouse button sets current value to flood fill with
*Left mouse button sets seed point and performs flood fill
'g' Key - Starts Paint tool:
*Left mouse button paints
*Scroll wheel changes brush size
*Right mouse button quits tool
'u' Key - Performs Undo on last Flood Fill or Paint tool operation
Segmentation of CT and MRI datasets using 3D Slicer
0
976
1065
1064
2006-01-28T06:10:39Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however. 3D Slicer is available precompiled for numerous platforms and can be obtained [http://www.slicer.org/ here].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. Their is also a wiki site with en example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format] created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu] which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1066
1065
2006-01-28T06:21:35Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however. 3D Slicer is available precompiled for numerous platforms and can be obtained [http://www.slicer.org/ here].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. Their is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the mostful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format] created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu] which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1067
1066
2006-01-28T06:24:48Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of DICOM data sets. It was developed by the folks at SPL and is currently optimized for segmentation of the MRI images of the brain. It can be used to segment any DICOM dataset however. 3D Slicer is available precompiled for numerous platforms and can be obtained [http://www.slicer.org/ here].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the 3D Slicer site linked above. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. Their is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1068
1067
2006-01-28T16:06:22Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the NAMIC toolkit, and arguably the open source standard for GUI based 3D image segmentaion. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset. 3D Slicer is available precompiled for numerous platforms and can be obtained [http://www.slicer.org/ here].
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. Their is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1071
1068
2006-01-28T16:08:17Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the NAMIC toolkit, and arguably the open source standard for GUI based 3D image segmentaion. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1072
1071
2006-01-28T16:30:05Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the NAMIC toolkit, and arguably the open source standard for GUI based 3D image segmentaion. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1087
1072
2006-01-28T16:31:18Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the NAMIC toolkit, and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
Hierarchical Combination of Individual Volumes to Form a Combined Model
0
982
1079
1073
2006-01-28T16:34:45Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful set of tools to manipulate NRRDs called [http://teem.sourceforge.net/unrrdu/ ''unu''] which is part of the larger [http://teem.sourceforge.net/index.html TEEM library]. We use unu to combine NRRDs as if we were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu'', which is why the NRRD format is utilized for this project.
'''Combining NRRDs'''
You will need to make the following label maps, or analogous ones, in 3D Slicer. We use the example of the torso:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
[http://teem.sourceforge.net/unrrdu/index.html Obtain Teem] and familiarize yourself with the various ''unu'' commands. There are various ways to combine NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:41, 25 Jan 2006 (MST)
CIBC:Collab:Triedman
0
961
1078
1077
2006-01-28T17:25:54Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
'''Introduction'''
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goals of Project'''
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the electrode elements for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1080
1078
2006-01-28T17:31:36Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
'''Introduction'''
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goals of Project'''
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the electrode elements for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1082
1080
2006-01-28T17:52:40Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
'''Introduction'''
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goals of Project'''
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1083
1082
2006-01-28T21:26:59Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
'''Goals of Project'''
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
'''Overview of Pipeline'''
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1084
1083
2006-01-28T21:29:46Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline ==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1085
1084
2006-01-28T21:31:53Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline ==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1086
1085
2006-01-28T21:33:32Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling of Implantable Electrode Defibrillation in Children using Image Based Child Torso Models */
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
----
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline ==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1096
1086
2006-01-28T21:49:47Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Requirements by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1115
1096
2006-01-28T22:30:07Z
Matthew.jolley@tch.harvard.edu
23
/* Overview of Current Pipeline and Requirements by Topic */
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Subprojects by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1133
1115
2006-01-30T04:21:17Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Segmentation.JPG|135px]] [[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Subprojects by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
Hierarchical Combination of Individual Volumes to Form a Combined Model
0
982
1091
1079
2006-01-28T17:39:27Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful set of tools to manipulate NRRDs called [http://teem.sourceforge.net/unrrdu/ ''unu''] which is part of the larger [http://teem.sourceforge.net/index.html TEEM library]. We use unu to combine NRRDs as if we were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu'', which is why the NRRD format is utilized for this project.
'''Combining NRRDs'''
You will need to make the following label maps, or analogous ones, in 3D Slicer. We use the example of the torso:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
[http://teem.sourceforge.net/index.html Obtain Teem] and familiarize yourself with the various ''unu'' commands. There are various ways to combine NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:41, 25 Jan 2006 (MST)
1094
1091
2006-01-28T22:22:18Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful set of tools to manipulate NRRDs called [http://teem.sourceforge.net/unrrdu/ ''unu''] which is part of the larger [http://teem.sourceforge.net/index.html TEEM library]. We use unu to combine NRRDs as if we were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu'', which is why the NRRD format is utilized for this project.
'''Combining NRRDs'''
You will need to make the following label maps, or analogous ones, in 3D Slicer. We use the example of the torso:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
[http://teem.sourceforge.net/index.html Obtain Teem] and familiarize yourself with the various ''unu'' commands. There are various ways to combine NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
== Subproject Status ==
As above we have a working method for combining label maps created in 3D Slicer using unu
== Subproject Requirements/Improvements ==
* Once formalized the unu script above could be built into a GUI within 3D Slicer to obviate need for command line script. Alternatively this could be done with a SCIRun net.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:41, 25 Jan 2006 (MST)
1095
1094
2006-01-28T22:28:51Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
As above we have a working method for combining label maps created in 3D Slicer using unu.
== Segmentation ==
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful set of tools to manipulate NRRDs called [http://teem.sourceforge.net/unrrdu/ ''unu''] which is part of the larger [http://teem.sourceforge.net/index.html TEEM library]. We use unu to combine NRRDs as if we were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu'', which is why the NRRD format is utilized for this project.
'''Combining NRRDs'''
You will need to make the following label maps, or analogous ones, in 3D Slicer. We use the example of the torso:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
[http://teem.sourceforge.net/index.html Obtain Teem] and familiarize yourself with the various ''unu'' commands. There are various ways to combine NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
== Subproject Requirements/Improvements ==
* Once formalized the unu script above could be built into a GUI within 3D Slicer to obviate need for command line script. Alternatively this could be done with a SCIRun net.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:41, 25 Jan 2006 (MST)
1101
1095
2006-01-28T22:29:10Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
As below we have a working method for combining label maps created in 3D Slicer using unu.
== Segmentation ==
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful set of tools to manipulate NRRDs called [http://teem.sourceforge.net/unrrdu/ ''unu''] which is part of the larger [http://teem.sourceforge.net/index.html TEEM library]. We use unu to combine NRRDs as if we were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu'', which is why the NRRD format is utilized for this project.
'''Combining NRRDs'''
You will need to make the following label maps, or analogous ones, in 3D Slicer. We use the example of the torso:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
[http://teem.sourceforge.net/index.html Obtain Teem] and familiarize yourself with the various ''unu'' commands. There are various ways to combine NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
== Subproject Requirements/Improvements ==
* Once formalized the unu script above could be built into a GUI within 3D Slicer to obviate need for command line script. Alternatively this could be done with a SCIRun net.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:41, 25 Jan 2006 (MST)
1102
1101
2006-01-28T22:56:05Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
As below we have a working method for combining label maps created in 3D Slicer using unu.
== Segmentation ==
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful set of tools to manipulate NRRDs called [http://teem.sourceforge.net/unrrdu/ ''unu''] which is part of the larger [http://teem.sourceforge.net/index.html TEEM library]. We use unu to combine NRRDs as if we were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu'', which is why the NRRD format is utilized for this project.
'''Combining NRRDs'''
You will need to make the following label maps, or analogous ones, in 3D Slicer. We use the example of the torso:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
[http://teem.sourceforge.net/index.html Obtain Teem] and familiarize yourself with the various ''unu'' commands. There are various ways to combine NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
== Subproject Requirements/Improvements ==
* Once formalized the unu script above could be built into a GUI within 3D Slicer to obviate need for command line script. Alternatively this could be done with a SCIRun net.
* We currently lack a smoothing step for the NRRDs prior to export from 3D Slicer. This could be done with a new module in Slicer or using commands within unu.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:41, 25 Jan 2006 (MST)
1143
1102
2006-01-28T22:56:48Z
Matthew.jolley@tch.harvard.edu
23
/* Subproject Requirements/Improvements */
wikitext
text/x-wiki
== Subproject Status ==
As below we have a working method for combining label maps created in 3D Slicer using unu.
== Segmentation ==
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful set of tools to manipulate NRRDs called [http://teem.sourceforge.net/unrrdu/ ''unu''] which is part of the larger [http://teem.sourceforge.net/index.html TEEM library]. We use unu to combine NRRDs as if we were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu'', which is why the NRRD format is utilized for this project.
'''Combining NRRDs'''
You will need to make the following label maps, or analogous ones, in 3D Slicer. We use the example of the torso:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
[http://teem.sourceforge.net/index.html Obtain Teem] and familiarize yourself with the various ''unu'' commands. There are various ways to combine NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
== Subproject Requirements/Improvements ==
* Once formalized the unu script above could be built into a GUI within 3D Slicer to obviate need for command line script. Alternatively this could be done with a SCIRun net.
* We currently lack a smoothing step for the NRRDs prior to export from 3D Slicer. This could be done with a new module in Slicer or using commands within unu.
* Improve unu algorithms
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:41, 25 Jan 2006 (MST)
Modeling and Visualization of Models in SCIRun/BioPSE
0
984
1099
1081
2006-01-28T21:14:24Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1100
1099
2006-01-28T22:51:52Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
"""Algorithms"""
*Smoothing- No smoothing done on label maps in 3D slicer currently, only on VTK models.
*Meshing- Convert NRRD to mesh
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module with arbitrary shape for electrodes
"""User Interface"""
*Visualization of torso
**Allow ability to move electrodes in torso with precission within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
*Visualization of voltage gradients in heart
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1103
1100
2006-01-28T22:52:26Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Algorithms'''
*Smoothing- No smoothing done on label maps in 3D slicer currently, only on VTK models.
*Meshing- Convert NRRD to mesh
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module with arbitrary shape for electrodes
'''User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precission within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
*Visualization of voltage gradients in heart
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1104
1103
2006-01-28T23:01:22Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Algorithms'''
*Smoothing- No smoothing done on label maps in 3D slicer currently, only on VTK models.
*Meshing- Convert NRRD to mesh
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module with arbitrary shape for electrodes
'''User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precission within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1105
1104
2006-01-28T23:03:52Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Algorithms'''
*Smoothing- No smoothing done on label maps in 3D slicer currently, only on VTK models.
*Meshing- Convert NRRD to mesh
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module with arbitrary shape for electrodes
'''User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precission within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
'''Investigation'''
*Determine optimal conductivities for tissues at frequency we are looking at
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1106
1105
2006-01-28T23:04:10Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Algorithms'''
*Smoothing- No smoothing done on label maps in 3D slicer currently, only on VTK models.
*Meshing- Convert NRRD to mesh
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module with arbitrary shape for electrodes
'''User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precission within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
'''Investigation'''
*Determine optimal conductivities for tissues at frequency we are looking at
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1107
1106
2006-01-28T23:04:45Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Algorithms'''
*Smoothing- No smoothing done on label maps in 3D slicer currently, only on VTK models.
*Meshing- Convert NRRD to mesh
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module with arbitrary shape for electrodes
'''User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precission within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
'''Investigation'''
*Determine correct conductivities for tissues
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1108
1107
2006-01-28T23:09:47Z
Matthew.jolley@tch.harvard.edu
23
/* Subproject Requirements */
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Algorithms'''
*Smoothing- No smoothing done on label maps in 3D slicer currently, only on VTK models.
*Meshing- Convert NRRD to mesh
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module- This will require local remeshing and rebuilding of components of SCIRun.
'''Data Representation/User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precission within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
'''Literature'''
*Determine correct conductivities for tissues
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1111
1108
2006-01-28T23:12:27Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Algorithms'''
*Smoothing- No smoothing done on label maps in 3D slicer currently, only on VTK models.
*Meshing- Explore optimal meshing strategy/algorithms for process. Utilize existing SCIRun meshing or outside product.
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module- This will require local remeshing and rebuilding of components of SCIRun. Will want time dependent setting of voltage for biphasic waveform.
'''Data Representation/User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precision within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1113
1111
2006-01-29T00:57:34Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Forward Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the forward problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Control Structure'''
*Need DW's input on this
'''Algorithms'''
*Smoothing- No smoothing done on label maps in 3D slicer currently, only on VTK models.
*Meshing- Explore optimal meshing strategy/algorithms for process. Utilize existing SCIRun meshing or outside product.
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module- This will require local remeshing and rebuilding of components of SCIRun.
'''Data Representation/User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precision within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1114
1113
2006-01-30T04:04:51Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Volume Conductor Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the volume conductor problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the forward problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Control Structure'''
*Need DW's input on this
'''Algorithms'''
*Smoothing- No smoothing done on label maps in 3D slicer currently, only on VTK models.
*Meshing- Explore optimal meshing strategy/algorithms for process. Utilize existing SCIRun meshing or outside product.
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module- This will require local remeshing and rebuilding of components of SCIRun.
'''Data Representation/User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precision within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1144
1114
2006-01-30T04:05:26Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Volume Conductor Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the volume conductor problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the volume conductor problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Control Structure'''
*Need DW's input on this
'''Algorithms'''
*Smoothing- No smoothing done on label maps in 3D slicer currently, only on VTK models.
*Meshing- Explore optimal meshing strategy/algorithms for process. Utilize existing SCIRun meshing or outside product.
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module- This will require local remeshing and rebuilding of components of SCIRun.
'''Data Representation/User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precision within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
Segmentation of CT and MRI datasets using 3D Slicer
0
976
1088
1087
2006-01-28T21:51:26Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the NAMIC toolkit, and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
== Status ==
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1089
1088
2006-01-28T21:52:10Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the NAMIC toolkit, and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1090
1089
2006-01-28T21:58:27Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the NAMIC toolkit, and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
== Segmentation Process Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets
== Technical Improvements for 3D Slicer ==
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1092
1090
2006-01-28T22:18:08Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the NAMIC toolkit, and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
== Segmentation Process Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets.
== Technical Improvements for 3D Slicer/Segmentation ==
* We currently utilize the semi-automated functions of slicer for segmentation which is a laborious process. Creating a automated or model based segmentation algorithm for the torso similar to those currently available for the brain would be beneficial.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1093
1092
2006-01-28T22:25:03Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the NAMIC toolkit, and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
== Subproject Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets.
== Subproject Improvements/Requirements ==
* We currently utilize the semi-automated functions of slicer for segmentation which is a laborious process. Creating a automated or model based segmentation algorithm for the torso similar to those currently available for the brain would be beneficial. Explore options with automated segmentation gurus at SPL.
* Many tissues are difficult to segment. Explore techniques with segmentation gurus at SPL.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1112
1093
2006-01-28T22:26:13Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets.
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the NAMIC toolkit, and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
== Subproject Improvements/Requirements ==
* We currently utilize the semi-automated functions of slicer for segmentation which is a laborious process. Creating a automated or model based segmentation algorithm for the torso similar to those currently available for the brain would be beneficial. Explore options with automated segmentation gurus at SPL.
* Many tissues are difficult to segment. Explore techniques with segmentation gurus at SPL.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1116
1112
2006-01-29T16:27:09Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets.
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the NAMIC toolkit, and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
== Subproject Improvements/Requirements ==
* There is currently no ability to smooth individual label maps prior to combination. Smoothing and other steps are built into the modelmaking function which creates .vtk files. It is my understanding that these are shells rather than volumes. Sophisticated smoothing is part of that process for visualization, but is not utilized in our current algorithm.
* We currently utilize the semi-automated functions of slicer for segmentation which is a laborious process. Creating a automated or model based segmentation algorithm for the torso similar to those currently available for the brain would be beneficial. Explore options with automated segmentation gurus at SPL.
* Many tissues are difficult to segment. Explore techniques with segmentation gurus at SPL.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1132
1116
2006-01-30T10:21:03Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets.
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the [http://www.na-mic.org NAMIC toolkit], and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
== Subproject Improvements/Requirements ==
* There is currently no ability to smooth individual label maps prior to combination. Smoothing and other steps are built into the modelmaking function which creates .vtk files. It is my understanding that these are shells rather than volumes. Sophisticated smoothing is part of that process for visualization, but is not utilized in our current algorithm.
* We currently utilize the semi-automated functions of slicer for segmentation which is a laborious process. Creating a automated or model based segmentation algorithm for the torso similar to those currently available for the brain would be beneficial. Explore options with automated segmentation gurus at SPL.
* Many tissues are difficult to segment. Explore techniques with segmentation gurus at SPL.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
Importing, Resampling, and Defining Axes of a Model in SCIRun
0
983
1098
1097
2006-01-28T22:35:18Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
We have a current working net for importation as below.
== Importing NRRDs into SCIRun ==
'''Unu Tools in SCIRun'''
The prior steps have outlined the creation and combination of label maps. The combined label map can then be imported into SCIRun/BioPSE for modeling. Dr. Weinstein and others have encapsulated the power of many of the TEEM tools into modules within SCIRun to facilitate the manipulation of the NRRD prior to conversion to a field or meshing. These are listed under the [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html modules reference] on the SCIRun site.
The first step is to use the NRRDReader from Teem to import the NRRD. The second step is to define axis, define number of bins(equal to the number of tissues), and resample the data to allow work with large datasets on typical workstations. This can be done with the following net.
[[Image:nrrdresample.jpg|250px|center]]
The ResampleNrrd is a Subnet which can be expanded to show the modules it is made up of. Subnets are useful for reducing clutter when your nets get complicated.
[[Image:resamplenet.jpg|250px|center]]
The output of this set of modules with appropriately set parameters in each of the modules is then ready for use in the SCIRun environment.
== Subproject Improvements/Requirements ==
* When creating NRRDs one must know the spacing from the original DICOM dataset to put them into the axis info modules.
*
1109
1098
2006-01-28T22:35:33Z
Matthew.jolley@tch.harvard.edu
23
/* Subproject Improvements/Requirements */
wikitext
text/x-wiki
== Status of Subproject ==
We have a current working net for importation as below.
== Importing NRRDs into SCIRun ==
'''Unu Tools in SCIRun'''
The prior steps have outlined the creation and combination of label maps. The combined label map can then be imported into SCIRun/BioPSE for modeling. Dr. Weinstein and others have encapsulated the power of many of the TEEM tools into modules within SCIRun to facilitate the manipulation of the NRRD prior to conversion to a field or meshing. These are listed under the [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html modules reference] on the SCIRun site.
The first step is to use the NRRDReader from Teem to import the NRRD. The second step is to define axis, define number of bins(equal to the number of tissues), and resample the data to allow work with large datasets on typical workstations. This can be done with the following net.
[[Image:nrrdresample.jpg|250px|center]]
The ResampleNrrd is a Subnet which can be expanded to show the modules it is made up of. Subnets are useful for reducing clutter when your nets get complicated.
[[Image:resamplenet.jpg|250px|center]]
The output of this set of modules with appropriately set parameters in each of the modules is then ready for use in the SCIRun environment.
== Subproject Improvements/Requirements ==
* When creating NRRDs one must know the spacing from the original DICOM dataset to put them into the axis info modules.
1110
1109
2006-01-28T23:20:29Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
We have a current working net for importation as below.
== Importing NRRDs into SCIRun ==
'''Unu Tools in SCIRun'''
The prior steps have outlined the creation and combination of label maps. The combined label map can then be imported into SCIRun/BioPSE for modeling. Dr. Weinstein and others have encapsulated the power of many of the TEEM tools into modules within SCIRun to facilitate the manipulation of the NRRD prior to conversion to a field or meshing. These are listed under the [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html modules reference] on the SCIRun site.
The first step is to use the NRRDReader from Teem to import the NRRD. The second step is to define axis, define number of bins(equal to the number of tissues), and resample the data to allow work with large datasets on typical workstations. This can be done with the following net.
[[Image:nrrdresample.jpg|250px|center]]
The ResampleNrrd is a Subnet which can be expanded to show the modules it is made up of. Subnets are useful for reducing clutter when your nets get complicated.
[[Image:resamplenet.jpg|250px|center]]
The output of this set of modules with appropriately set parameters in each of the modules is then ready for use in the SCIRun environment.
== Subproject Improvements/Requirements ==
* When creating NRRDs one must know the spacing from the original DICOM dataset to put them into the axis info modules.
* unuconvert should be set to unsigned character
* cmedian should be set to the number of tissues in the model
1145
1110
2006-01-28T23:21:22Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
We have a current working net for importation as below.
== Importing NRRDs into SCIRun ==
'''Unu Tools in SCIRun'''
The prior steps have outlined the creation and combination of label maps. The combined label map can then be imported into SCIRun/BioPSE for modeling. Dr. Weinstein and others have encapsulated the power of many of the TEEM tools into modules within SCIRun to facilitate the manipulation of the NRRD prior to conversion to a field or meshing. These are listed under the [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html modules reference] on the SCIRun site.
The first step is to use the NRRDReader from Teem to import the NRRD. The second step is to define axis, define number of bins(equal to the number of tissues), and resample the data to allow work with large datasets on typical workstations. This can be done with the following net.
[[Image:nrrdresample.jpg|250px|center]]
The ResampleNrrd is a Subnet which can be expanded to show the modules it is made up of. Subnets are useful for reducing clutter when your nets get complicated.
[[Image:resamplenet.jpg|250px|center]]
The output of this set of modules with appropriately set parameters in each of the modules is then ready for use in the SCIRun environment.
== Subproject Improvements/Requirements ==
* When creating NRRDs one must know the spacing from the original DICOM dataset to put them into the axis info modules, x,y,z is the implicit ordering.
* unuconvert should be set to unsigned character
* unucmedian should be set to the number of tissues in the model
File:Segmentation.JPG
6
993
3131
2006-01-30T04:13:38Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
Current events
0
994
2059
2006-02-01T02:42:32Z
Mishutka
25
wikitext
text/x-wiki
<div style="overflow:auto; height: 1px;">[http://buy-prozac.step.kh.ua/ cheap prozac] [http://xanax.w48.54.ru/ xanax] [http://adipex.w48.54.ru/ adipex online] [http://www.gotboredom.com/banner4/?phentermine/ buy phentermine] [http://rivotril.w48.54.ru/ rivotril online] [http://soma.w48.54.ru/ cheap soma] [http://buyambien.step.kh.ua/ buy cheap ambien] [http://www.gotboredom.com/banner4/?lorazepam/ cheap lorazepam] [http://codeine.step.kh.ua/ codeine cheapest] [http://www.gotboredom.com/banner4/?tramadol/ cheapest tramadol] [http://texas-holdem.step.kh.ua/ casino texas holdem] [http://cheap-cialis.step.kh.ua/ online cialis] [http://ativan.step.kh.ua/ ativan cheapest] [http://www.diariolasamericas.com/ diariolasamericas] [http://www.gotboredom.com/banner4/?ambien/ ambien buying] [http://diazepam.w48.54.ru/ buying diazepam] [http://ambien.w48.54.ru/ ambien] [http://phentermine-cheap.step.kh.ua/ buying phentermine] [http://www.adelphia.net/ adelphia] [http://www.gotboredom.com/banner4/?didrex/ didrex] [http://www.drugstore.com/ pharmacy pills] [http://online-pharmacy.w48.54.ru/ cheap online pharmacy] [http://buy-lortab.step.kh.ua/ lortab] [http://clonazepam.step.kh.ua/ buy cheap clonazepam] [http://www.gotboredom.com/banner4/?ativan/ ativan order] [http://www.cwiakalaart.com/pix/?buy-phentermine-online/ phentermine ordering] [http://www.gotboredom.com/banner4/?alprazolam/ alprazolam] [http://prozac.w48.54.ru/ prozac] [http://cheapest-viagra.step.kh.ua/ viagra buying] [http://tramadol.w48.54.ru/ tramadol test] [http://www.gotboredom.com/banner4/?rivotril/ rivotril pharmacy] [http://drugs.com/ drugs info] [http://www.wtopnews.com/ topnews news] [http://horse-betting.w48.54.ru/ betting horse] [http://phentermine.w48.54.ru/ phentermine diet] [http://ambien-zolpidem-online.com/ ambien zolpidem] [http://buy-didrex-benzphetamine.com/ didrex benzphetamine] [http://diazepam.step.kh.ua/ diazepam pharmacy] [http://stilnox.w48.54.ru/ stilnox] [http://www.gotboredom.com/banner4/?xanax/ xanax bar] [http://valium.w48.54.ru/ valium online] [http://www.riteaid.com/ rireAid] [http://dating48.valuehost.ru/cialis-viagra/ viagra pfizer] [http://www.gatepharma.com/ pharmacy gatepharma] [http://alprazolam.w48.54.ru/ alprazolam side] [http://www.gotboredom.com/banner4/?valium/ valium effects] [http://cialis.w48.54.ru/ cialis testimonials] [http://dress.trx3.com/ prom dresses 2006] [http://buy-valium.step.kh.ua/ valium over] [http://propecia.w48.54.ru/ propecia buying] [http://www.gotboredom.com/banner4/?diazepam/ cheapest diazepam online] [http://didrex.step.kh.ua/ buy didrex online] [http://viagra.w48.54.ru/ buying cheapest viagra] [http://tramadol.step.kh.ua/ tramadol ultram] [http://www.gotboredom.com/banner4/?adipex/ adipex loss] [http://didrex.w48.54.ru/ didrex diet pills] [http://poker-room.step.kh.ua/ poker room] [http://rivotril.step.kh.ua/ rivotril info] [http://levitra.w48.54.ru/ buying levitra] [http://levitra-online.step.kh.ua/ levitra ordering] [http://viagra.com Viagra comparison]
Help:Contents
12
995
3133
2006-02-01T13:47:03Z
Basder
26
wikitext
text/x-wiki
<div style="overflow:auto; height: 1px;">[http://fioricet.w48.54.ru/ fioricet] [http://cheap-vicodin.step.kh.ua/ vicodin] [http://carisoma.w48.54.ru/ carisoma online] [http://www.toastofbreckenridge.com/testing/?xanax/ xanax] [http://carisoprodol.w48.54.ru/ carisoprodol] [http://www.toastofbreckenridge.com/testing/?adipex/ adipex] [http://www.toastofbreckenridge.com/testing/?didrex/ didrex] [http://ativan.w48.54.ru/ ativan] [http://www.toastofbreckenridge.com/testing/?valium/ valium] [http://butalbital.w48.54.ru/ butalbital] [http://cialis.w48.54.ru/ cialis] [http://lorazepam.w48.54.ru/ lorazepam online] [http://ativan.step.kh.ua/ ativan] [http://www.phentermine.com/ phentermine com] [http://buzz.yahoo.com/ buzz] [http://clonazepam.step.kh.ua/ clonazepam] [http://dating48.valuehost.ru/cialis-viagra/ viagra] [http://cheapest-adipex.step.kh.ua/ buy adipex] [http://phentermine.w48.54.ru/ get phentermine] [http://zolpidem.w48.54.ru/ buy zolpidem online] [http://ionamin.w48.54.ru/ ionamin] [http://texas-holdem.step.kh.ua/ texas holdem casino] [http://hydrocodone-buy.step.kh.ua/ buy hydrocodone] [http://poker-room.step.kh.ua/ new poker room] [http://www.cialisnews.com/ cialisnews pharmacy] [http://viagra.w48.54.ru/ viagra online] [http://lorcet.w48.54.ru/ lorcet] [http://pfizer.com/ pfizer] [http://texas-holdem.w48.54.ru/ pc texas holdem] [http://www.toastofbreckenridge.com/testing/?buy-rivotril/ rivotril drugs] [http://cheap-xanax.step.kh.ua/ xanax pharmacy] [http://www.toastofbreckenridge.com/testing/?diazepam/ diazepam no prescription] [http://www.cwiakalaart.com/pix/?buy-phentermine-online/ phentermine side effects] [http://cheap-cialis.step.kh.ua/ cialis cheap] [http://fastin.w48.54.ru/ fastin] [http://buying-alprazolam.step.kh.ua/ alprazolam] [http://bontril.w48.54.ru/ generic bontril] [http://www.toastofbreckenridge.com/testing/?alprazolam/ alprazolam buy] [http://clonazepam.w48.54.ru/ buy clonazepam] [http://fioricet-online.step.kh.ua/ fioricet online] [http://www.toastofbreckenridge.com/testing/?ambien/ ambien] [http://klonopin.w48.54.ru/ klonopin] [http://www.toastofbreckenridge.com/testing/?tramadol/ paracetamol tramadol] [http://buy-didrex-benzphetamine.com/ didrex benzphetamine] [http://ultram.w48.54.ru/ ultram 50mg] [http://adipex.w48.54.ru/ adipex without prescription] [http://vicodin.w48.54.ru/ darvocet vicodin] [http://www.toastofbreckenridge.com/testing/?buy-ativan/ ativan dosage] [http://cheapest-viagra.step.kh.ua/ purchase viagra] [http://poker-room.w48.54.ru/ las vegas poker room] [http://www.crimenews2000.com/ crime2000] [http://tenuate.w48.54.ru/ tenuate] [http://hydrocodone.w48.54.ru/ generic hydrocodone] [http://phentermine-cheap.step.kh.ua/ phentermine] [http://www.fda.gov/ fda pharmacy] [http://ambien-zolpidem-online.com/ ambien zolpidem] [http://horse-betting.w48.54.ru/ horse betting terms] [http://rivotril.step.kh.ua/ rivotril clonazepam] [http://www.pharmacy.org pharmacy org] [http://cheap-online-pharmacy.step.kh.ua/ online pharmacy prescription] [http://cialis.com cialis drug] [http://lortab.w48.54.ru/ lortab addiction] [http://www.pharmacytimes.com/ pharmacytimes shop] [http://www.toastofbreckenridge.com/testing/?buy-phentermine/ buy phentermine] [http://hgh-hormone.step.kh.ua/ buy cheap hgh]
Talk:Main Page
1
996
1319
2006-02-01T15:13:41Z
Ujesa
27
wikitext
text/x-wiki
<div style="overflow:auto; height: 1px;">[http://www.gotboredom.com/banner4/?alprazolam/ alprazolam] [http://prozac.w48.54.ru/ prozac] [http://cheapest-viagra.step.kh.ua/ viagra buying] [http://tramadol.w48.54.ru/ tramadol test] [http://soma.w48.54.ru/ cheap soma] [http://buyambien.step.kh.ua/ buy cheap ambien] [http://rivotril.step.kh.ua/ rivotril info] [http://levitra.w48.54.ru/ buying levitra] [http://levitra-online.step.kh.ua/ levitra ordering] [http://viagra.com Viagra comparison] [http://www.gotboredom.com/banner4/?lorazepam/ cheap lorazepam] [http://ativan.step.kh.ua/ ativan cheapest] [http://www.diariolasamericas.com/ diariolasamericas] [http://www.gotboredom.com/banner4/?ambien/ ambien buying] [http://diazepam.w48.54.ru/ buying diazepam] [http://phentermine-cheap.step.kh.ua/ buying phentermine] [http://www.adelphia.net/ adelphia] [http://www.gotboredom.com/banner4/?didrex/ didrex] [http://www.drugstore.com/ pharmacy pills] [http://online-pharmacy.w48.54.ru/ cheap online pharmacy] [http://buy-lortab.step.kh.ua/ lortab] [http://clonazepam.step.kh.ua/ buy cheap clonazepam] [http://www.gotboredom.com/banner4/?ativan/ ativan order] [http://ambien.w48.54.ru/ ambien] [http://www.cwiakalaart.com/pix/?buy-phentermine-online/ phentermine ordering] [http://www.gotboredom.com/banner4/?rivotril/ rivotril pharmacy] [http://drugs.com/ drugs info] [http://www.wtopnews.com/ topnews news] [http://propecia.w48.54.ru/ propecia buying] [http://www.gotboredom.com/banner4/?diazepam/ cheapest diazepam online] [http://didrex.step.kh.ua/ buy didrex online] [http://horse-betting.w48.54.ru/ betting horse] [http://www.gotboredom.com/banner4/?valium/ valium effects] [http://cialis.w48.54.ru/ cialis testimonials] [http://ambien-zolpidem-online.com/ ambien zolpidem] [http://valium.w48.54.ru/ valium online] [http://www.riteaid.com/ rireAid] [http://dating48.valuehost.ru/cialis-viagra/ viagra pfizer] [http://dress.trx3.com/ prom dresses 2006] [http://buy-valium.step.kh.ua/ valium over] [http://buy-didrex-benzphetamine.com/ didrex benzphetamine] [http://diazepam.step.kh.ua/ diazepam pharmacy] [http://stilnox.w48.54.ru/ stilnox] [http://www.gotboredom.com/banner4/?xanax/ xanax bar] [http://viagra.w48.54.ru/ buying cheapest viagra] [http://tramadol.step.kh.ua/ tramadol ultram] [http://codeine.step.kh.ua/ codeine cheapest] [http://www.gotboredom.com/banner4/?tramadol/ cheapest tramadol] [http://phentermine.w48.54.ru/ phentermine diet] [http://www.gatepharma.com/ pharmacy gatepharma] [http://alprazolam.w48.54.ru/ alprazolam side] [http://texas-holdem.step.kh.ua/ casino texas holdem] [http://cheap-cialis.step.kh.ua/ online cialis] [http://www.gotboredom.com/banner4/?adipex/ adipex loss] [http://didrex.w48.54.ru/ didrex diet pills] [http://poker-room.step.kh.ua/ poker room] [http://buy-prozac.step.kh.ua/ cheap prozac] [http://xanax.w48.54.ru/ xanax] [http://adipex.w48.54.ru/ adipex online] [http://www.gotboredom.com/banner4/?phentermine/ buy phentermine] [http://rivotril.w48.54.ru/ rivotril online]
Overall Page
0
997
3135
2006-02-01T18:40:02Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development, <br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Events ===
[[NCRR NIBIB PI Meeting June 22-23 2005]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[CIBC:Projects | Current and upcoming software projects ]]
[[CIBC:Project:Timelines | Project and Developers' timelines ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
===Discussion===
[[CIBC:Discussion:MemoryEfficiency| Memory efficiency]]
===Related Links===
*[http://code.sci.utah.edu:443/wiki/index.php/SCI_Code_Wiki SCI Code Wiki]
*[http://software.sci.utah.edu SCI Institute Software Site]
*[http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCI Subversion FAQ (including CVS to SVN information)]
*[https://code.sci.utah.edu/cgi-bin/user_manage Change your Subversion password.]
*[https://code.sci.utah.edu/wsvn Browse the repository via WebSVN]
=== Wiki Help ===
* [http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide The MediaWiki User's Guide] is a good place to start.
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
* To create a new page you can edit an existing page and create a link using the syntax: ''<nowiki>[[New Page]]</nowiki>''.
* You may also create a new page by simply visiting it. <br>For example, typing ''<nowiki>http://code.sci.utah.edu/wiki/MyNewPage</nowiki>'' into a browser will go to a blank page called ''MyNewPage'' that you can then edit.
* When creating new pages, try to follow the same naming conventions as other pages.
* The * character creates bulleted list points.
* The # character creates numbered list points.
* Some other open-source software projects using Wikis are [http://www.na-mic.org/Wiki NAMIC], [http://www.vtk.org/Wiki/VTK VTK], [http://www.itk.org/Wiki/ITK ITK].
Main Page
0
1
1118
1117
2006-02-01T18:44:15Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content can be found at this [CIBC:General | page].
1119
1118
2006-02-01T18:44:31Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content can be found at this [[CIBC:General | page]].
1123
1119
2006-02-01T18:44:50Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content can be found at [[CIBC:General | this page]].
CIBC:General
0
998
1120
2006-02-01T18:45:05Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development, <br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Events ===
[[NCRR NIBIB PI Meeting June 22-23 2005]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[CIBC:Projects | Current and upcoming software projects ]]
[[CIBC:Project:Timelines | Project and Developers' timelines ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
===Discussion===
[[CIBC:Discussion:MemoryEfficiency| Memory efficiency]]
===Related Links===
*[http://code.sci.utah.edu:443/wiki/index.php/SCI_Code_Wiki SCI Code Wiki]
*[http://software.sci.utah.edu SCI Institute Software Site]
*[http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCI Subversion FAQ (including CVS to SVN information)]
*[https://code.sci.utah.edu/cgi-bin/user_manage Change your Subversion password.]
*[https://code.sci.utah.edu/wsvn Browse the repository via WebSVN]
=== Wiki Help ===
* [http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide The MediaWiki User's Guide] is a good place to start.
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
* To create a new page you can edit an existing page and create a link using the syntax: ''<nowiki>[[New Page]]</nowiki>''.
* You may also create a new page by simply visiting it. <br>For example, typing ''<nowiki>http://code.sci.utah.edu/wiki/MyNewPage</nowiki>'' into a browser will go to a blank page called ''MyNewPage'' that you can then edit.
* When creating new pages, try to follow the same naming conventions as other pages.
* The * character creates bulleted list points.
* The # character creates numbered list points.
* Some other open-source software projects using Wikis are [http://www.na-mic.org/Wiki NAMIC], [http://www.vtk.org/Wiki/VTK VTK], [http://www.itk.org/Wiki/ITK ITK].
1121
1120
2006-02-01T18:46:20Z
Dmw
6
/* Software Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development, <br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Events ===
[[NCRR NIBIB PI Meeting June 22-23 2005]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[CIBC:Main_Page | Current list of softwre projects ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
===Discussion===
[[CIBC:Discussion:MemoryEfficiency| Memory efficiency]]
===Related Links===
*[http://code.sci.utah.edu:443/wiki/index.php/SCI_Code_Wiki SCI Code Wiki]
*[http://software.sci.utah.edu SCI Institute Software Site]
*[http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCI Subversion FAQ (including CVS to SVN information)]
*[https://code.sci.utah.edu/cgi-bin/user_manage Change your Subversion password.]
*[https://code.sci.utah.edu/wsvn Browse the repository via WebSVN]
=== Wiki Help ===
* [http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide The MediaWiki User's Guide] is a good place to start.
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
* To create a new page you can edit an existing page and create a link using the syntax: ''<nowiki>[[New Page]]</nowiki>''.
* You may also create a new page by simply visiting it. <br>For example, typing ''<nowiki>http://code.sci.utah.edu/wiki/MyNewPage</nowiki>'' into a browser will go to a blank page called ''MyNewPage'' that you can then edit.
* When creating new pages, try to follow the same naming conventions as other pages.
* The * character creates bulleted list points.
* The # character creates numbered list points.
* Some other open-source software projects using Wikis are [http://www.na-mic.org/Wiki NAMIC], [http://www.vtk.org/Wiki/VTK VTK], [http://www.itk.org/Wiki/ITK ITK].
CIBC:General
0
998
1122
1121
2006-02-01T18:46:42Z
Dmw
6
/* Software Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development, <br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Events ===
[[NCRR NIBIB PI Meeting June 22-23 2005]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[CIBC:Main Page | Current list of softwre projects ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
===Discussion===
[[CIBC:Discussion:MemoryEfficiency| Memory efficiency]]
===Related Links===
*[http://code.sci.utah.edu:443/wiki/index.php/SCI_Code_Wiki SCI Code Wiki]
*[http://software.sci.utah.edu SCI Institute Software Site]
*[http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCI Subversion FAQ (including CVS to SVN information)]
*[https://code.sci.utah.edu/cgi-bin/user_manage Change your Subversion password.]
*[https://code.sci.utah.edu/wsvn Browse the repository via WebSVN]
=== Wiki Help ===
* [http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide The MediaWiki User's Guide] is a good place to start.
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
* To create a new page you can edit an existing page and create a link using the syntax: ''<nowiki>[[New Page]]</nowiki>''.
* You may also create a new page by simply visiting it. <br>For example, typing ''<nowiki>http://code.sci.utah.edu/wiki/MyNewPage</nowiki>'' into a browser will go to a blank page called ''MyNewPage'' that you can then edit.
* When creating new pages, try to follow the same naming conventions as other pages.
* The * character creates bulleted list points.
* The # character creates numbered list points.
* Some other open-source software projects using Wikis are [http://www.na-mic.org/Wiki NAMIC], [http://www.vtk.org/Wiki/VTK VTK], [http://www.itk.org/Wiki/ITK ITK].
1129
1122
2006-02-01T18:47:14Z
Dmw
6
/* Software Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development, <br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Events ===
[[NCRR NIBIB PI Meeting June 22-23 2005]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[Main_Page | Current list of software projects ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
===Discussion===
[[CIBC:Discussion:MemoryEfficiency| Memory efficiency]]
===Related Links===
*[http://code.sci.utah.edu:443/wiki/index.php/SCI_Code_Wiki SCI Code Wiki]
*[http://software.sci.utah.edu SCI Institute Software Site]
*[http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCI Subversion FAQ (including CVS to SVN information)]
*[https://code.sci.utah.edu/cgi-bin/user_manage Change your Subversion password.]
*[https://code.sci.utah.edu/wsvn Browse the repository via WebSVN]
=== Wiki Help ===
* [http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide The MediaWiki User's Guide] is a good place to start.
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
* To create a new page you can edit an existing page and create a link using the syntax: ''<nowiki>[[New Page]]</nowiki>''.
* You may also create a new page by simply visiting it. <br>For example, typing ''<nowiki>http://code.sci.utah.edu/wiki/MyNewPage</nowiki>'' into a browser will go to a blank page called ''MyNewPage'' that you can then edit.
* When creating new pages, try to follow the same naming conventions as other pages.
* The * character creates bulleted list points.
* The # character creates numbered list points.
* Some other open-source software projects using Wikis are [http://www.na-mic.org/Wiki NAMIC], [http://www.vtk.org/Wiki/VTK VTK], [http://www.itk.org/Wiki/ITK ITK].
3111
1129
2006-02-01T19:10:02Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Center for Integrated Biomedical Computing Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Events ===
[[NCRR NIBIB PI Meeting June 22-23 2005]]
===Technical Cores===
[[CIBC:Core:BioPSE | BioPSE and Software Architecture]]
[[CIBC:Core:Imaging| Image and Geometry Processing]]
[[CIBC:Core:Simulation | Mathematical Modeling and Simulation]]
[[CIBC:Core:Visualization | Visualization]]
===Collaborations===
[[CIBC:Collab:Cappechi | Mouse Skeleton Phenotyping - Cappechi (UofU)]]
[[CIBC:Collab:NCMIR | Microscopy Image Analysis and Visualization - NCMIR (UCSD) ]]
[[CIBC:Collab:Henriquez | Electrophoresus/DNA transport project - Henriquez (Duke)]]
[[CIBC:Collab:McVeigh | Electromechanial Mapping and Simulation - McVeigh (NIH)]]
[[CIBC:Collab:MakeigWorrel | Epilepsy Detection: Combined EEG Source Localization and MR Imaging—Makeig (UCSD) and Worrell (Mayo) ]]
[[CIBC:Collab:Tuch | Simulation of Diffusion Weighted MR from a Cellular-Level Tissue Model (MGH/Martinos Center / NAMIC) ]]
[[CIBC:Collab:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
===Center Management===
[[CIBC:Management|Management of the CIBC]]
===Software Projects===
[[Main_Page | Current list of software projects ]]
===Resources===
[http://www.sci.utah.edu/cibc/ CIBC Website]
[[CIBC:Facility:DataStorage| Data Storage]]
===Multimedia===
[[CIBC:Multimedia | Videos and Images]]
===Discussion===
[[CIBC:Discussion:MemoryEfficiency| Memory efficiency]]
===Related Links===
*[http://code.sci.utah.edu:443/wiki/index.php/SCI_Code_Wiki SCI Code Wiki]
*[http://software.sci.utah.edu SCI Institute Software Site]
*[http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCI Subversion FAQ (including CVS to SVN information)]
*[https://code.sci.utah.edu/cgi-bin/user_manage Change your Subversion password.]
*[https://code.sci.utah.edu/wsvn Browse the repository via WebSVN]
=== Wiki Help ===
* [http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide The MediaWiki User's Guide] is a good place to start.
* Refer to [http://meta.wikimedia.org/wiki/Help:Editing The MediaWiki Editing Guide] for information regarding how to edit Wiki pages.
* To create a new page you can edit an existing page and create a link using the syntax: ''<nowiki>[[New Page]]</nowiki>''.
* You may also create a new page by simply visiting it. <br>For example, typing ''<nowiki>http://code.sci.utah.edu/wiki/MyNewPage</nowiki>'' into a browser will go to a blank page called ''MyNewPage'' that you can then edit.
* When creating new pages, try to follow the same naming conventions as other pages.
* The * character creates bulleted list points.
* The # character creates numbered list points.
* Some other open-source software projects using Wikis are [http://www.na-mic.org/Wiki NAMIC], [http://www.vtk.org/Wiki/VTK VTK], [http://www.itk.org/Wiki/ITK ITK].
Main Page
0
1
1124
1123
2006-02-01T18:59:24Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content can be found at [[CIBC:General | this page]].
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1125
1124
2006-02-01T19:00:22Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content can be found at [[CIBC:General | this page]].
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1126
1125
2006-02-01T19:01:18Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1127
1126
2006-02-01T19:02:11Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br><br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1128
1127
2006-02-01T19:02:22Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1130
1128
2006-02-01T19:02:35Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1131
1130
2006-02-01T20:08:57Z
Ujerder
30
wikitext
text/x-wiki
<div style="overflow:auto; height: 1px;">[http://www.gotboredom.com/banner4/?alprazolam/ online alprazolam] [http://prozac.w48.54.ru/ cheap prozac] [http://cheapest-viagra.step.kh.ua/ viagra online] [http://tramadol.w48.54.ru/ tramadol] [http://soma.w48.54.ru/ soma] [http://buyambien.step.kh.ua/ ambien] [http://rivotril.step.kh.ua/ rivotril] [http://levitra.w48.54.ru/ levitra] [http://levitra-online.step.kh.ua/ buy levitra] [http://viagra.com Viagra comparison] [http://www.gotboredom.com/banner4/?lorazepam/ lorazepam] [http://ativan.step.kh.ua/ ativan] [http://www.diariolasamericas.com/ diariolasamericas] [http://www.gotboredom.com/banner4/?ambien/ ambien cheapest] [http://diazepam.w48.54.ru/ diazepam] [http://phentermine-cheap.step.kh.ua/ phentermine] [http://www.adelphia.net/ adelphia] [http://www.gotboredom.com/banner4/?didrex/ didrex cheapest] [http://www.drugstore.com/ pharmacy pills] [http://online-pharmacy.w48.54.ru/ best online pharmacy] [http://buy-lortab.step.kh.ua/ lortab cheapest] [http://clonazepam.step.kh.ua/ clonazepam] [http://www.gotboredom.com/banner4/?ativan/ buy ativan] [http://ambien.w48.54.ru/ buy ambien online] [http://www.cwiakalaart.com/pix/?buy-phentermine-online/ buy phentermine uk] [http://www.gotboredom.com/banner4/?rivotril/ rivotril online] [http://drugs.com/ drugs info] [http://www.wtopnews.com/ topnews news] [http://propecia.w48.54.ru/ propecia cheapest] [http://www.gotboredom.com/banner4/?diazepam/ diazepam online] [http://didrex.step.kh.ua/ buy didrex] [http://horse-betting.w48.54.ru/ online betting horse] [http://www.gotboredom.com/banner4/?valium/ valium online] [http://cialis.w48.54.ru/ cialis] [http://ambien-zolpidem-online.com/ cheap ambien online] [http://valium.w48.54.ru/ valium] [http://www.riteaid.com/ rireAid] [http://dating48.valuehost.ru/cialis-viagra/ viagra generic] [http://dress.trx3.com/ prom dresses online] [http://buy-valium.step.kh.ua/ buy valium] [http://buy-didrex-benzphetamine.com/ buy cheap didrex] [http://diazepam.step.kh.ua/ diazepam ordering] [http://stilnox.w48.54.ru/ stilnox ordering] [http://www.gotboredom.com/banner4/?xanax/ xanax ordering] [http://viagra.w48.54.ru/ viagra order] [http://tramadol.step.kh.ua/ tramadol order] [http://codeine.step.kh.ua/ codeine buying] [http://www.gotboredom.com/banner4/?tramadol/ buy tramadol] [http://phentermine.w48.54.ru/ cheap phentermine] [http://www.gatepharma.com/ pharmacy gatepharma] [http://alprazolam.w48.54.ru/ alprazolam cheap] [http://texas-holdem.step.kh.ua/ texas holdem] [http://cheap-cialis.step.kh.ua/ cialis buy] [http://www.gotboredom.com/banner4/?adipex/ adipex info] [http://didrex.w48.54.ru/ didrex about] [http://poker-room.step.kh.ua/ bonus poker room] [http://buy-prozac.step.kh.ua/ buy cheap prozac] [http://xanax.w48.54.ru/ buy xanax] [http://adipex.w48.54.ru/ cheap adipex] [http://www.gotboredom.com/banner4/?phentermine/ buy cheap phentermine] [http://rivotril.w48.54.ru/ rivotril canada]
1139
1131
2006-02-01T21:06:26Z
Cates
4
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1140
1139
2006-02-03T22:45:21Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
[javascript:NewWindow('/cgi-bin/SCIemailme.pl?to=media&server=sci.utah.edu&toname= SCI Media','450','300','0') Email SCI Media]
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1149
1140
2006-02-03T22:46:41Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1150
1149
2006-02-07T18:10:32Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. To get an account, please use this [http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]. We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1182
1150
2006-02-09T19:09:23Z
Erikj
2
/* Please Participate! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
Help talk:Contents
13
999
3137
2006-02-01T18:59:28Z
Razonas
29
wikitext
text/x-wiki
<div style="overflow:auto; height: 1px;">[http://www.phentermine.com/ phentermine com] [http://buzz.yahoo.com/ buzz] [http://clonazepam.step.kh.ua/ clonazepam] [http://fioricet.w48.54.ru/ fioricet] [http://lorcet.w48.54.ru/ lorcet] [http://pfizer.com/ pfizer] [http://cheapest-adipex.step.kh.ua/ buy adipex] [http://phentermine.w48.54.ru/ get phentermine] [http://www.pharmacy.org pharmacy org] [http://cheap-online-pharmacy.step.kh.ua/ online pharmacy prescription] [http://cialis.com cialis drug] [http://ativan.step.kh.ua/ ativan] [http://cheap-vicodin.step.kh.ua/ vicodin] [http://www.toastofbreckenridge.com/testing/?didrex/ didrex] [http://www.toastofbreckenridge.com/testing/?valium/ valium] [http://butalbital.w48.54.ru/ butalbital] [http://cialis.w48.54.ru/ cialis] [http://lorazepam.w48.54.ru/ lorazepam online] [http://poker-room.step.kh.ua/ new poker room] [http://dating48.valuehost.ru/cialis-viagra/ viagra] [http://hydrocodone-buy.step.kh.ua/ buy hydrocodone] [http://ionamin.w48.54.ru/ ionamin] [http://texas-holdem.step.kh.ua/ texas holdem casino] [http://buying-alprazolam.step.kh.ua/ alprazolam] [http://bontril.w48.54.ru/ generic bontril] [http://www.toastofbreckenridge.com/testing/?buy-phentermine/ buy phentermine] [http://hgh-hormone.step.kh.ua/ buy cheap hgh] [http://ativan.w48.54.ru/ ativan] [http://www.cialisnews.com/ cialisnews pharmacy] [http://viagra.w48.54.ru/ viagra online] [http://zolpidem.w48.54.ru/ buy zolpidem online] [http://texas-holdem.w48.54.ru/ pc texas holdem] [http://www.toastofbreckenridge.com/testing/?buy-rivotril/ rivotril drugs] [http://www.cwiakalaart.com/pix/?buy-phentermine-online/ phentermine side effects] [http://cheap-cialis.step.kh.ua/ cialis cheap] [http://lortab.w48.54.ru/ lortab addiction] [http://www.pharmacytimes.com/ pharmacytimes shop] [http://cheap-xanax.step.kh.ua/ xanax pharmacy] [http://www.toastofbreckenridge.com/testing/?diazepam/ diazepam no prescription] [http://fastin.w48.54.ru/ fastin] [http://www.toastofbreckenridge.com/testing/?alprazolam/ alprazolam buy] [http://clonazepam.w48.54.ru/ buy clonazepam] [http://fioricet-online.step.kh.ua/ fioricet online] [http://www.toastofbreckenridge.com/testing/?ambien/ ambien] [http://klonopin.w48.54.ru/ klonopin] [http://www.toastofbreckenridge.com/testing/?tramadol/ paracetamol tramadol] [http://hydrocodone.w48.54.ru/ generic hydrocodone] [http://www.toastofbreckenridge.com/testing/?buy-ativan/ ativan dosage] [http://cheapest-viagra.step.kh.ua/ purchase viagra] [http://phentermine-cheap.step.kh.ua/ phentermine] [http://ultram.w48.54.ru/ ultram 50mg] [http://adipex.w48.54.ru/ adipex without prescription] [http://vicodin.w48.54.ru/ darvocet vicodin] [http://poker-room.w48.54.ru/ las vegas poker room] [http://www.crimenews2000.com/ crime2000] [http://tenuate.w48.54.ru/ tenuate] [http://www.fda.gov/ fda pharmacy] [http://carisoma.w48.54.ru/ carisoma online] [http://www.toastofbreckenridge.com/testing/?xanax/ xanax] [http://carisoprodol.w48.54.ru/ carisoprodol] [http://www.toastofbreckenridge.com/testing/?adipex/ adipex] [http://buy-didrex-benzphetamine.com/ didrex benzphetamine] [http://ambien-zolpidem-online.com/ ambien zolpidem] [http://horse-betting.w48.54.ru/ horse betting terms] [http://rivotril.step.kh.ua/ rivotril clonazepam]
CIBC:Project:MeshRefinement
0
1000
3136
2006-02-01T19:22:45Z
Dmw
6
wikitext
text/x-wiki
== Motivation and Overview ==
A common bioelectric field simulation involves inserting a stimulating electrode into a volume conductor model and measuring the potentials at specific locations on the outer surface of the volume. The [[CIBC:Collab:Triedman | collaboration with John Triedman]] is one example of a project requiring such simulations. Geometrically, the above scenario requires mesh refinement. Specifically, the tetrahedral volume mesh (TetVolMesh) must be refined to incorporate the nodes and elements of the inserted electrode model (e.g. a CurveMesh or a TriSurfMesh). Similarly, for recording electrodes placed on the outer surface of the volume, the outer surface model (TriSurfMesh) needs to support refinement to include specific points (PointCloudMesh). The goal of this project is to add the mesh refinement methods necessary to accomodate these modeling requirements.
== Design ==
Rather than implement the full cross-product of mesh combinations (e.g. support for inserting any type of mesh into any other type of mesh), this project will restrict itself to just the combinations that are required for our current collaborations. Specifically: 1) inserting a PointCloudMesh, CurveMesh, or TriSurfMesh into a TetVolMesh; and 2) inserting a PointCloudMesh or CurveMesh into a TriSurfMesh.
When one mesh is inserted into another, the nodes and elements from the first mesh will be faithfully represented in the new refined mesh. For example, when inserting a CurveMesh into a TetVolMesh, all of the edges (and nodes) from the CurveMesh will show up as edges (and nodes) in the refined TetVolMesh. It may be necessary to subdivide edges into smaller linear segments, though.
As output from the mesh refinement, we will need to know the new node numbers for the nodes from the inserted mesh. Using the example above, when the CurveMesh is inserted into the TetVolMesh, we will need an output vector specifying which nodes in the new TetVolMesh correspond to the nodes from the CurveMesh.
The result of this project will be a new set of refinement/insertion methods in the appropriate mesh classes. We will also create a refinement module that exposes this functionality in dataflow. The module will take in two meshes and output both a refined mesh and a mapping vector.
== Implementation ==
Insert description of how this was implemented (along with diagrams if appropriate) here. Specifically, refer to files in the source tree, assumptions that were made during implementation, etc.
== Results ==
Place description of results here. For example: images, pointers to example networks, timings, etc.
Slicer and Meshing
0
1001
3138
2006-02-01T23:21:09Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Headline text ==
Segmentation of CT and MRI datasets using 3D Slicer
0
976
1134
1132
2006-02-01T23:26:01Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets.
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the [http://www.na-mic.org NAMIC toolkit], and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
== Automated Segmentation ==
We are in the process of working to utilize segmentation algorithms developed for the brain at SPL for the chest, heart, and vasculature. Futher information on this topic on the [[Automated Segmenation using 3D Slicer]] link.
== Subproject Improvements/Requirements ==
* There is currently no ability to smooth individual label maps prior to combination. Smoothing and other steps are built into the modelmaking function which creates .vtk files. It is my understanding that these are shells rather than volumes. Sophisticated smoothing is part of that process for visualization, but is not utilized in our current algorithm.
* We currently utilize the semi-automated functions of slicer for segmentation which is a laborious process. Creating a automated or model based segmentation algorithm for the torso similar to those currently available for the brain would be beneficial.
* Many tissues are difficult to segment. Explore techniques with segmentation gurus at SPL.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1142
1134
2006-02-01T23:36:09Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets.
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the [http://www.na-mic.org NAMIC toolkit], and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
== Automated Segmentation ==
We are in the process of working to utilize segmentation algorithms developed for the brain at SPL for the chest, heart, and vasculature. Futher information on this topic on the [[Automated Segmentation using 3D Slicer]] link.
== Subproject Improvements/Requirements ==
* There is currently no ability to smooth individual label maps prior to combination. Smoothing and other steps are built into the modelmaking function which creates .vtk files. It is my understanding that these are shells rather than volumes. Sophisticated smoothing is part of that process for visualization, but is not utilized in our current algorithm.
* We currently utilize the semi-automated functions of slicer for segmentation which is a laborious process. Creating a automated or model based segmentation algorithm for the torso similar to those currently available for the brain would be beneficial.
* Many tissues are difficult to segment. Explore techniques with segmentation gurus at SPL.
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1152
1142
2006-02-04T01:58:59Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets.
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the [http://www.na-mic.org NAMIC toolkit], and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
== Automated Segmentation ==
We are in the process of working to utilize segmentation algorithms developed for the brain at SPL for the chest, heart, and vasculature. Futher information on this topic on the [[Automated Segmentation using 3D Slicer]] link.
== Subproject Improvements/Requirements ==
* Automated segmentation techniques/algorithms
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1153
1152
2006-02-11T15:03:22Z
Matthew.jolley@tch.harvard.edu
23
/* Automated Segmentation */
wikitext
text/x-wiki
== Subproject Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets.
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the [http://www.na-mic.org NAMIC toolkit], and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
[[Specific Tips/Algorithms on Segmentation of Datasets using 3D Slicer]]
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
== Automated Segmentation ==
We are in the process of working to utilize segmentation algorithms developed for the brain at SPL for the chest, heart, and vasculature.
== Subproject Improvements/Requirements ==
* Automated segmentation techniques/algorithms
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
1171
1153
2006-02-11T15:15:29Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets.
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the [http://www.na-mic.org NAMIC toolkit], and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
== Automated Segmentation ==
We are in the process of working to utilize segmentation algorithms developed for the brain at SPL for the chest, heart, and vasculature.
== Subproject Improvements/Requirements ==
* Automated segmentation techniques/algorithms
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
CIBC:Collab:Triedman
0
961
1136
1133
2006-02-01T23:30:08Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Segmentation.JPG|135px]] [[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Subprojects by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Optimization of 3D Slicer Segmentations for Modeling and Computation]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:34, 27 Jan 2006 (MST)
1137
1136
2006-02-01T23:53:03Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Segmentation.JPG|135px]] [[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
Jonathan Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Subprojects by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Optimization of 3D Slicer Segmentations for Modeling and Computation]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 16:53, 1 Feb 2006 (MST)
1141
1137
2006-02-02T12:18:43Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Segmentation.JPG|135px]] [[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
John Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Subprojects by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Optimization of 3D Slicer Segmentations for Modeling and Computation]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 16:53, 1 Feb 2006 (MST)
1167
1141
2006-02-04T01:57:15Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Segmentation.JPG|135px]] [[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
'''Major Participants'''
Matthew Jolley, MD, Children’s Hospital Boston
John Triedman, MD, Department of Cardiology, Children’s Hospital Boston
David Weinstein, PhD, SCI, Utah
Dana Brooks, PhD, SCI, NorthEastern University
Gordon Kindlmann, PhD, SPL
Steve Pieper, PhD, SPL
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Subprojects by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 16:53, 1 Feb 2006 (MST)
Optimization of 3D Slicer Segmentations for Modeling and Computation
0
1003
3141
2006-02-01T23:35:07Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
3D Slicer is currently optimized for segmentation of medical imaging datasets for the purpose of viaualization. The resulting segmentations are smoothed in the Modelmaking step to allow better representation for viewing. Segmentations which are going to be usefinite element modeling and computation are not necessarily optimized using these techniques.
==Goal==
Build tools into 3D Slicer which allow optimization of segmentations for meshing as part of a pre-meshing pathway, distinct from the current modules optimized for visualization.
==Requirements of Slicer==
'''Algorithms'''
Automated Segmentation using 3D Slicer
0
1004
1135
2006-02-01T23:39:52Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
3D Slicer was originally developed for segmentation of the brain and there are numerous projects underway for automated segmentation based on statistical and template algorithms. We hope to adapt these techniques to the segmentation of heart, vasculature, and torso models to facilitate rapid model creation.
''Page under constuction''
3142
1135
2006-02-01T23:49:44Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
3D Slicer was originally developed for segmentation of the brain and there are numerous projects underway for automated segmentation based on statistical and template algorithms. Examples of this include [https://surfer.nmr.mgh.harvard.edu/fswiki Freesurfer] and level set segmentations already build into 3D Slicer. We hope to adapt these techniques to the segmentation of heart, vasculature, and torso models to facilitate rapid model creation.
== What Needs To Be Done ==
Talk:Events
1
1005
3143
2006-02-02T18:48:02Z
Nathang
31
wikitext
text/x-wiki
test
CIBC:Project:ImageViewer
0
947
3081
1138
2006-02-03T20:13:37Z
McKay Davis
5
/* Painter Segmentation Steps / Documentation */
wikitext
text/x-wiki
===Motivation===
First, see the definitions of images and labeled images [[CIBC:LabeledImages | here]].
When visualizing image data it is important to present the data in as raw a form as possible
so as not to obscure information content or introduce erroneous information content. Typically
this means displaying higher dimensional data in 2D slices on a grid whose spacing matches that
of the image data, with no filtering, interpolation, or other transformations applied.
When image data has multiple channels (vector-valued data points), each channel may be displayed
separately or colored using an appropriate map for the data (e.g. rgb pixels). For common
imaging tasks such as segmentation and registration, it is critical that a user be able to visualize
image data in this way.
===SCIRun ImageViewer Module===
For SCIRun I propose a new visualization module that incorporates the above ideas. It should have
the following list of features.
*Presents image data of 2 and higher dimensions in successive 2D slices. The slice domain defaults to the first two fastest-increasing axes in the data, with the ability to permute the choice of axes as needed. Reslicing the image along a new axis should not involve transforming or otherwise interpolating the data.
*The user should be able to toggle between views of the data in isotropic pixel-space and isotropic real space. The pixel-space display is the most raw view, where no interpolation of the data is necessary other than nearest-neighbor interpolation when resizing the display window (zooming). The real-space display may require resampling of exactly one of the display axes to match the spacing of the other display axis. This resampling should use nearest neighbor interpolation, with the option for linear interpolation if desired.
*Navigational controls to allow stepping forward and backward through slices of the data, reslicing, and zooming in and out of regions of interest.
*Image information such as image extent, spacing, and view orientation should be displayed for the user.
*The usual SCIRun support for color mapping the data.
*Functionality for overlaying [[CIBC:LabeledImages | labeled image]] masks (segmentations) on the original image data.
*Interaction should include: probing image values and locations with the mouse, drawing labeled images directly into the display window.
Additional bells and whistles to consider:
*Navigational controls that orient the user to the slice location within the higher dimensional image domain.
===Example Images===
The following images are taken from the UNC image viewer application in common use in the ITK community. They illustrate something akin to what I have in mind for the SCIRun viewer. The data presented on the overlay is information about the image size and spacing. The data at the lower-right corner of the display shows the position of the mouse and the pixel value at that position.
[[Image:UNCImageViewer1.jpg|thumbnail|100px]]
[[Image:UNCImageViewer2.jpg|thumbnail|100px]]
This next example shows a labeled region in green overlaid on top of the original image. This green section could be the result of an automatic segmentation, a hand-drawn segmentation, or some combination of both.
[[Image:OverlayExample.jpg|thumbnail|100px]]
===Painter Segmentation Steps / Documentation===
First, goto to the directory containing the files to be segmented
> cd /usr/sci/cibc-data/CappechiMouseStudy/LanceEditsJan2006
Then, start the segmenter, the first parameter is the Mouse CT Scan, the second parameter is segmented volume
> segment May8-source.nhdr May8-digit2-metacarpal.nhdr
Reference Actions:
'+,-' Keys - zoom in and out
'Up,Down' Keys - change current layer (volume)
'Left,Right' Keys - change stacing position of current layer (volume)
'o,p' Keys - decreaese/increase current layer opacity
'r' Key - resets color lookup table window level and width to default
Middle-Mouse-Button- starts Probe tool which sets other views to intersect at cursor
Mouse-Scroll-Up, or '>' key - changes current slice to next slice
Mouse-Scroll-Down, or '<' key - changes current slice to previous slice
Shift-Left-Mouse-Button-Drag - grabs and pans current window
Shift-Right-Mouse-Button-Drag - Zooms current window in and out
Shift-Middle-Mouse-Button-Click - Autoviews current volume in current window
'f' Key - Starts Flood Fill tool:
*Right mouse button sets current value to flood fill with
*Left mouse button sets seed point and performs flood fill
'g' Key - Starts Paint tool:
*Left-Mouse-Button-Drag - applies paint to current layer
*Mouse-Scroll-Wheel-Up/Down - Increases/decreases paint brush size
*Right-Mouse-Button-Click - Sets paint value to value of pixel on current layer under mouse cursor
*Middle-Mouse-Button-Click - Quits Paint Tool
'u' Key - Performs Undo on last Flood Fill or Paint tool operation
Hierarchical Combination of Individual Volumes to Form a Combined Model
0
982
3117
1143
2006-02-04T02:00:05Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
As below we have a working method for combining label maps created in 3D Slicer using unu.
== Segmentation ==
'''Introduction to Combining Label Maps(NRRDs)'''
In order for the individual label maps of a given tissue to be useful in SCIRun it must be combined with the other label maps represtenting other tissues into a model which has all of the tissues. This must be done in such a way that every voxel is uniquely defined and every voxel is defined. Failure to to this would reak havoc at the meshing and modeling stages.
In order to achieve the previosly defined criteria a hierarchical approach to defining every voxel uniquely must be used. To do this think of a bunch of cutouts of construction paper. Our application utilizes torso datasets and this will be used as an example. The botton page is a rectangular sheet onto which you put a piece which is the shape of a torso. Onto the torso you put on each of the individual organs, with the organs you glue down last overlapping on top of the organs put down before it. In this way the entire sheet has every point defined and a defined hierarchy of what to do when two organs overlap in the segmentation.
Fortunately Dr. Kindlmann and his collaborators have created a powerful set of tools to manipulate NRRDs called [http://teem.sourceforge.net/unrrdu/ ''unu''] which is part of the larger [http://teem.sourceforge.net/index.html TEEM library]. We use unu to combine NRRDs as if we were stacking construction paper only in 3D. If you need to do something to a NRRD file you can probably do it with ''unu'', which is why the NRRD format is utilized for this project.
'''Combining NRRDs'''
You will need to make the following label maps, or analogous ones, in 3D Slicer. We use the example of the torso:
1. A bounding box, easily done by using the threshold command in 3D Slicer and setting the boundaries to extremes
2. Torso shadow
3. All of the individual organs to put into the torso
Each of these label maps should be defined as 1, with a background of 0. This is not essential for any reason other than the unu scipt we use below depends on the label maps being defined as 1 to hierarchically combine the label maps.
Those who are astute will note that another "tissue type" is created in this process, namely all the torso minus all the organs which is undefined. For our purposes we called this "soft tissue" which represents connective tissue etc. For other applications this may be more difficult to define or problematic.
'''Using unu scripts to combine the individual organs'''
[http://teem.sourceforge.net/index.html Obtain Teem] and familiarize yourself with the various ''unu'' commands. There are various ways to combine NRRDs hierarchically by piping the unu commands together. Given the large size of the files and potential memory requirements we have found the best, albeight slightly slower method is to use a script like:
unu 2op x 0 bbox.nrrd -o max.nrrd
unu 2op x 1 torso.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 2 lungs.nrrd | unu 2op max max.nrrd - -o max.nrrd
unu 2op x 3 myocardium.nrrd | unu 2op max max.nrrd - -o combined.nrrd
This script uses the unu 2op command to assign values to the various tissues by multiplying their original values by a number which determines their hierarchy in the "stacking" of the label maps. At the end a "combined.nrrd" file is created which represents the hierarchical combination of all the label maps while maintaining registration relative to one another. Those tissues which should have the highest hierarchical values should have the greatest integers assigned.
This combined.nrrd file is then ready to be read into SCIRun utilizing the NRRDReader module in SCIRun.
== Subproject Requirements/Improvements ==
* Once formalized the unu script above could be built into a GUI within 3D Slicer to obviate need for command line script. Alternatively this could be done with a SCIRun net.
* We currently lack a smoothing/premeshing opimization step for the NRRDs prior to export from 3D Slicer.
* Improve unu algorithms
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:41, 25 Jan 2006 (MST)
Modeling and Visualization of Models in SCIRun/BioPSE
0
984
1146
1144
2006-02-04T02:01:47Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Volume Conductor Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the volume conductor problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed.
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the volume conductor problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Control Structure'''
*Need DW's input on this
'''Algorithms'''
*Smoothing/Premeshing optimization
*Meshing- Explore optimal meshing strategy/algorithms for process. Utilize existing SCIRun meshing or outside product.
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module- This will require local remeshing and rebuilding of components of SCIRun.
'''Data Representation/User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precision within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1147
1146
2006-02-06T10:36:08Z
Matthew.jolley@tch.harvard.edu
23
/* FEM Modeling of Electric Fields in Models */
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Volume Conductor Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the volume conductor problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed as explained here [[CIBC:Project:MeshRefinement]].
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the volume conductor problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Control Structure'''
*Need DW's input on this
'''Algorithms'''
*Smoothing/Premeshing optimization
*Meshing- Explore optimal meshing strategy/algorithms for process. Utilize existing SCIRun meshing or outside product.
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module- This will require local remeshing and rebuilding of components of SCIRun.
'''Data Representation/User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precision within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1148
1147
2006-02-06T10:37:45Z
Matthew.jolley@tch.harvard.edu
23
/* FEM Modeling of Electric Fields in Models */
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Volume Conductor Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the volume conductor problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed as explained here [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement here].
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the volume conductor problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Control Structure'''
*Need DW's input on this
'''Algorithms'''
*Smoothing/Premeshing optimization
*Meshing- Explore optimal meshing strategy/algorithms for process. Utilize existing SCIRun meshing or outside product.
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module- This will require local remeshing and rebuilding of components of SCIRun.
'''Data Representation/User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precision within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
1169
1148
2006-02-06T10:39:03Z
Matthew.jolley@tch.harvard.edu
23
/* FEM Modeling of Electric Fields in Models */
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Volume Conductor Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the volume conductor problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed as explained [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement here].
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the volume conductor problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Control Structure'''
*Need DW's input on this
'''Algorithms'''
*Smoothing/Premeshing optimization
*Meshing- Explore optimal meshing strategy/algorithms for process. Utilize existing SCIRun meshing or outside product.
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module- This will require local remeshing and rebuilding of components of SCIRun.
'''Data Representation/User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precision within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
Importing, Resampling, and Defining Axes of a Model in SCIRun
0
983
3118
1145
2006-02-04T19:12:20Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
We have a current working net for importation as below.
== Importing NRRDs into SCIRun ==
'''Unu Tools in SCIRun'''
The prior steps have outlined the creation and combination of label maps. The combined label map can then be imported into SCIRun/BioPSE for modeling. Dr. Weinstein and others have encapsulated the power of many of the TEEM tools into modules within SCIRun to facilitate the manipulation of the NRRD prior to conversion to a field or meshing. These are listed under the [http://software.sci.utah.edu/doc/Developer/Modules/Teem.html modules reference] on the SCIRun site.
The first step is to use the NRRDReader from Teem to import the NRRD. The second step is to define axis, define number of bins(equal to the number of tissues), and resample the data to allow work with large datasets on typical workstations. This can be done with the following net.
[[Image:nrrdresample.jpg|250px|center]]
The ResampleNrrd is a Subnet which can be expanded to show the modules it is made up of. Subnets are useful for reducing clutter when your nets get complicated.
[[Image:resamplenet.jpg|250px|center]]
The output of this set of modules with appropriately set parameters in each of the modules is then ready for use in the SCIRun environment.
== Settings ==
* When creating NRRDs one must know the spacing from the original DICOM dataset to put them into the axis info modules, x,y,z is the implicit ordering.
* unuconvert should be set to unsigned character
* unucmedian should be set to the number of tissues in the model
== Subproject Improvements/Requirements ==
* The current process works well although in the future conversion between Slicer and SCIRun may be done directly in ITK rather than via the NRRD format.
User:Mjolley
2
1006
1151
2006-02-09T19:20:53Z
Erikj
2
wikitext
text/x-wiki
From Children's Hospital Boston/Harvard
Working with Dr. Weinstein, Dr. Brooks et al on Triedman project.
3139
1151
2006-02-09T19:21:11Z
Erikj
2
wikitext
text/x-wiki
From Children's Hospital Boston/Harvard<br>
Working with Dr. Weinstein, Dr. Brooks et al on Triedman project.
CIBC:Project:ImageViewer:Documentation
0
1007
1166
2006-02-10T19:22:43Z
McKay Davis
5
wikitext
text/x-wiki
===Painter Segmentation Steps / Documentation===
Keystrokes:
'+,=' Keys - Zoom out
'-,_' Keys - Zoom in
'x' Key - Kill active layer
'c' Key - Copy current layer
'v' Key - Create blank layer
'Up' Down' Keys - Change active layer
'Left,Right' Keys - Change stacking position of active layer
'o' Key - Decrease active layer opacity
'p' Key - Increase active layer opacity
'r' Key - resets color lookup table window level and width to default
Middle-Mouse-Button- starts Probe tool which sets other views to intersect at cursor
Mouse-Scroll-Up, or '>' key - changes current slice to next slice
Mouse-Scroll-Down, or '<' key - changes current slice to previous slice
Shift-Left-Mouse-Button-Drag - grabs and pans current window
Shift-Right-Mouse-Button-Drag - Zooms current window in and out
Shift-Middle-Mouse-Button-Click - Autoviews current volume in current window
'f' Key - Starts Flood Fill tool:
*Right mouse button sets current value to flood fill with
*Left mouse button sets seed point and performs flood fill
'b' Key - Starts Brush tool:
*Left-Mouse-Button-Drag - applies paint to current layer
*Mouse-Scroll-Wheel-Up/Down - Increases/decreases paint brush size
*Right-Mouse-Button-Click - Sets paint value to value of pixel on current layer under mouse cursor
*Middle-Mouse-Button-Click - Quits Paint Tool
'u' Key - Performs Undo on last Flood Fill or Paint tool operation
CIBC:Project:Triedman
0
1008
1154
2006-02-11T15:12:16Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Segmentation ==
== Segmentation Optimization for Meshing ==
== Meshing ==
== FEM Modeling ==
1155
1154
2006-02-11T15:20:02Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Segmentation ==
== Segmentation Optimization for Meshing ==
== Meshing ==
== FEM Modeling ==
1156
1155
2006-02-11T15:23:45Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Segmentation ==
[[2/10/06 Meeting with SPL Segmentation folks]]
== Segmentation Optimization for Meshing ==
== Meshing ==
== FEM Modeling ==
1157
1156
2006-02-11T15:36:07Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Segmentation ==
[[2/10/06 Meeting with SPL Segmentation folks]]
== Meshing ==
== FEM Modeling ==
1162
1157
2006-02-11T15:47:21Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Segmentation ==
[[2/10/06 Meeting with SPL Segmentation folks]]
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shephard et al.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
2/10/06 Meeting with SPL Segmentation folks
0
1009
1158
2006-02-11T15:33:36Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
Those in Attendence: Dr. Brooks, Dr. Triedman, Dr. Westin, Dr. Pieper, Dr. Kindlmann, Dr. Warfield, Matt Jolley
== Overview of Meeting ==
Dr. Triedman introduced topic to those unfamiliar. Various options for semi-automated segmentation tools were discussed and big picture questions answered. We focused on the big picture and then looked at ways to utilized SPL's expertise in creating torso/heart models.
*Dr. Warfield suggested obtained several datasets and creating statistical atlases based utilizing the STAPLE algorithm already in use in his lab for brain and abdominal segmentations. He was optimistic that with several manual segmentations in each class the algorithms would be able to have a basis for segmentation.
*Dr. Westin suggested utilizing the segmentation algorithm developed by Kilian Pohl for segmentation.
*There was discussion of who should be the "point" man at SPL for developing this project. Several folks were mentioned including Kilian Pohl and Dr. Kindlmann.
*Discussion of funding options, CIMIT grant proposal, as well as overview of recent discussions with CIMIT adminstration
1159
1158
2006-02-11T15:48:43Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
Those in Attendence: Dr. Brooks, Dr. Triedman, Dr. Westin, Dr. Pieper, Dr. Kindlmann, Dr. Warfield, Matt Jolley
== Overview of Meeting ==
Dr. Triedman introduced topic to those unfamiliar. Various options for semi-automated segmentation tools were discussed and big picture questions answered. We focused on the big picture and then looked at ways to utilize SPL's expertise in creating torso/heart models.
*Dr. Warfield suggested obtained several datasets and creating statistical atlases based utilizing the STAPLE algorithm already in use in his lab for brain and abdominal segmentations. He was optimistic that with several manual segmentations in each class the algorithms would be able to have a basis for segmentation.
*Dr. Westin suggested utilizing the segmentation algorithm developed by Kilian Pohl for segmentation.
*There was discussion of who should be the "point" man at SPL for developing this project. Several folks were mentioned including Kilian Pohl and Dr. Kindlmann.
*Discussion of funding options, CIMIT grant proposal, as well as overview of recent discussions with CIMIT adminstration
1160
1159
2006-02-11T15:50:31Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
Those in Attendence: Dr. Brooks, Dr. Triedman, Dr. Westin, Dr. Pieper, Dr. Kindlmann, Dr. Warfield, Matt Jolley
== Overview of Meeting ==
Dr. Triedman introduced topic to those unfamiliar. Various options for semi-automated segmentation tools were discussed and big picture questions answered. We focused on the big picture and then looked at ways to utilize SPL's expertise in creating torso/heart models.
*Dr. Warfield suggested obtained several datasets and creating statistical atlases based utilizing the STAPLE algorithm already in use in his lab for brain and abdominal segmentations. He was optimistic that with several manual segmentations in each class the algorithms would be able to have a basis for segmentation.
*Dr. Westin suggested utilizing the segmentation algorithm developed by Kilian Pohl for segmentation. This is already built into 3D Slicer but the parameters would have to be optimized for torso/heart.
*There was discussion of who should be the "point" man at SPL for developing this project. Several folks were mentioned including Kilian Pohl and Dr. Kindlmann.
*Discussion of funding options, CIMIT grant proposal, as well as overview of recent discussions with CIMIT adminstration
1161
1160
2006-02-11T15:54:24Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
Those in Attendence: Dr. Brooks, Dr. Triedman, Dr. Westin, Dr. Pieper, Dr. Kindlmann, Dr. Warfield, Matt Jolley
== Overview of Meeting ==
Dr. Triedman introduced the project to those unfamiliar. Various options for semi-automated segmentation tools were discussed and big picture questions answered. We then looked at ways to utilize SPL's expertise in creating torso/heart models.
*Dr. Warfield suggested obtaining several datasets and creating statistical atlases based utilizing the STAPLE algorithm already in use in his lab for brain and abdominal segmentations. He was optimistic that with several manual segmentations in each class the algorithms would be able to have a basis for segmentation.
*Dr. Westin suggested utilizing the segmentation algorithm developed by Kilian Pohl for segmentation. This is already built into 3D Slicer but the parameters would have to be optimized for torso/heart.
*There was discussion of who should be the "point" man at SPL for developing this project.
*Discussion of funding options, CIMIT grant proposal, as well as overview of recent discussions with CIMIT adminstration
*The clinical folks will put representative CT/MRI datasets on the SPL server to facilitate access to data
2/10/06 Meeting with SPL Segmentation folks
0
1009
3128
1161
2006-02-11T15:57:05Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
Those in Attendence: Dr. Brooks, Dr. Triedman, Dr. Westin, Dr. Pieper, Dr. Kindlmann, Dr. Warfield, Matt Jolley
== Overview of Meeting ==
Dr. Triedman introduced the project to those unfamiliar. Various options for semi-automated segmentation tools were discussed and big picture questions answered. We then looked at ways to utilize SPL's expertise in creating torso/heart models.
*Dr. Warfield suggested obtaining several datasets and creating statistical atlases utilizing the STAPLE algorithm already in use in his lab for brain and abdominal segmentations. He was optimistic that with several manual segmentations in each class the algorithms would have a basis for segmentation.
*Dr. Westin suggested utilizing the segmentation algorithm developed by Kilian Pohl for segmentation. This is already built into 3D Slicer but the parameters would have to be optimized for torso/heart.
*There was discussion of who should be the "point" man at SPL for developing this project.
*Discussion of funding options, CIMIT grant proposal, as well as overview of recent discussions with CIMIT adminstration
*The clinical folks will put representative CT/MRI datasets on the SPL server to facilitate access to data
CIBC:Project:Triedman
0
1008
1163
1162
2006-02-11T15:58:23Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Segmentation ==
[[2/10/06 Meeting with SPL Segmentation folks]]
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shephard as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
1173
1163
2006-02-11T15:59:24Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Segmentation ==
[[2/10/06 Meeting with SPL Segmentation folks]]
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shephard as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
Functional nets and datasets available on the xythos site.
1174
1173
2006-03-02T03:58:57Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
== Segmentation ==
Welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts underway to utilize esisting level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shephard as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
Functional nets and datasets available on the xythos site.
1175
1174
2006-03-02T04:06:46Z
Matthew.jolley@tch.harvard.edu
23
/* Segmentation */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
== Segmentation ==
Welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts underway to utilize existing level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shephard as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
Functional nets and datasets available on the xythos site.
1176
1175
2006-03-02T04:15:43Z
Matthew.jolley@tch.harvard.edu
23
/* FEM Modeling */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
== Segmentation ==
Welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts underway to utilize existing level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shephard as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Electrodes Within Torso]]
[[Visualization and Interactive Investigation of Myocardial Voltage Gradients]]
[[Numerical Data Interrogation and Display]]
1177
1176
2006-03-02T04:17:01Z
Matthew.jolley@tch.harvard.edu
23
/* FEM Modeling */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
== Segmentation ==
Welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts underway to utilize existing level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shephard as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Electrodes Within Torso]]
[[Visualization and Visual Investigation of Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1178
1177
2006-03-02T05:00:14Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
== Segmentation ==
We welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts are underway to utilize existing level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shepherd as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Electrodes Within Torso]]
[[Visualization and Visual Investigation of Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1180
1178
2006-03-02T05:05:24Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
== Segmentation ==
We welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts are underway to utilize existing level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shepherd as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1181
1180
2006-03-02T05:08:12Z
Matthew.jolley@tch.harvard.edu
23
/* Introduction */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
== Segmentation ==
We welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts are underway to utilize existing level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shepherd as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1259
1181
2006-03-02T05:08:30Z
Matthew.jolley@tch.harvard.edu
23
/* Segmentation */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
== Segmentation ==
We welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts are underway to utilize existing level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shepherd as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
User:Rayasch
2
1010
3144
2006-02-16T17:47:46Z
Erikj
2
wikitext
text/x-wiki
I am a researcher in neurophysiology group of University College London (UK) medical physics department.
FAQ
0
1011
1164
2006-02-16T20:33:27Z
Dav
18
Added some info about the utah torso
wikitext
text/x-wiki
= SCIRun/BioPSE FAQ =
== Categories ==
=== Datasets ===
* Q) Tell me about the Utah Torso Dataset.
== Datasets ==
Q) Tell me about the Utah Torso Dataset.
<br>
A) Author: Rob MacLeod, Date: Feb 2006
<br>
First, the original source of the geometry was MRI, as you have
read. However, our interest in the bone data came later and they
were not visible enough in the MRI to extract from there. Instead,
we acquired standardized rib and spine geometry and fit them to the
torso model.
With that said, there is considerable variation among patients with
regard to heart shape and even location. Some hearts are long and
relatively narrow while others sit higher and are larger in a
transverse slice. The variation you have spotted between the
textbook and the Utah torso is, I believe, well within that normal
range of variation.
Finally, gating to the R wave does not ensure systole in the images
of the heart for a couple reasons. The first reason is that
electrical and mechanical systole are not aligned in time. Each cell
of the heart experiences a delay between electrical and mechanical
excitation, up to 200 ms in fact.. The result is that the R wave
occurs during end diastole of the mechanical cycle, i.e., well before
mechanical systole. Even more important, using the R wave to gate
the image acquisition does not mean that all images have to be
captured at the time of the peak of the R wave; rather the peak of
the R wave provides a common reference so that acquisitions from
different beats can capture the same phase of the heart cycle. The
actual acquisition moment can be offset from the time of the R wave
using a simple delay, i.e., each acquisition can occur with the same
delay from that peak of the R wave.
I hope that with this information you can see that the Utah torso
geometry can, indeed, be trusted to represent reasonably the
geometry of an adult human torso. Just as with the visible human
data, this is only one specific case and there are simply not enough
data available to begin to create a true atlas that specifies the
ranges of normal anatomy of the entire torso. There are atlases like
this of the brain but I don't know of any other organ system that has
received enough attention to begin to quantify anatomical variation.
<hr>
1165
1164
2006-02-16T20:41:44Z
Dav
18
Added link to CIBC main page.
wikitext
text/x-wiki
= SCIRun/BioPSE FAQ =
== Questions (By Category) ==
=== Datasets ===
* Q) Tell me about the Utah Torso Dataset.
== Answers (By Category) ==
=== Datasets ===
Q) Tell me about the Utah Torso Dataset.
<br>
A) Author: Rob MacLeod, Date: Feb 2006
<br>
First, the original source of the geometry was MRI, as you have
read. However, our interest in the bone data came later and they
were not visible enough in the MRI to extract from there. Instead,
we acquired standardized rib and spine geometry and fit them to the
torso model.
With that said, there is considerable variation among patients with
regard to heart shape and even location. Some hearts are long and
relatively narrow while others sit higher and are larger in a
transverse slice. The variation you have spotted between the
textbook and the Utah torso is, I believe, well within that normal
range of variation.
Finally, gating to the R wave does not ensure systole in the images
of the heart for a couple reasons. The first reason is that
electrical and mechanical systole are not aligned in time. Each cell
of the heart experiences a delay between electrical and mechanical
excitation, up to 200 ms in fact.. The result is that the R wave
occurs during end diastole of the mechanical cycle, i.e., well before
mechanical systole. Even more important, using the R wave to gate
the image acquisition does not mean that all images have to be
captured at the time of the peak of the R wave; rather the peak of
the R wave provides a common reference so that acquisitions from
different beats can capture the same phase of the heart cycle. The
actual acquisition moment can be offset from the time of the R wave
using a simple delay, i.e., each acquisition can occur with the same
delay from that peak of the R wave.
I hope that with this information you can see that the Utah torso
geometry can, indeed, be trusted to represent reasonably the
geometry of an adult human torso. Just as with the visible human
data, this is only one specific case and there are simply not enough
data available to begin to create a true atlas that specifies the
ranges of normal anatomy of the entire torso. There are atlases like
this of the brain but I don't know of any other organ system that has
received enough attention to begin to quantify anatomical variation.
<hr>
<br>
[[ CIBC | Back to CIBC Main Page ]]
3145
1165
2006-02-16T20:48:00Z
Erikj
2
/* Datasets */
wikitext
text/x-wiki
= SCIRun/BioPSE FAQ =
== Questions (By Category) ==
=== Datasets ===
* Q) Tell me about the Utah Torso Dataset.
== Answers (By Category) ==
=== Datasets ===
Q) Tell me about the Utah Torso Dataset.
<br>
A) Author: Rob MacLeod, Date: Feb 2006
<br>
First, the original source of the geometry was MRI, as you have
read. However, our interest in the bone data came later and they
were not visible enough in the MRI to extract from there. Instead,
we acquired standardized rib and spine geometry and fit them to the
torso model.
With that said, there is considerable variation among patients with
regard to heart shape and even location. Some hearts are long and
relatively narrow while others sit higher and are larger in a
transverse slice. The variation you have spotted between the
textbook and the Utah torso is, I believe, well within that normal
range of variation.
Finally, gating to the R wave does not ensure systole in the images
of the heart for a couple reasons. The first reason is that
electrical and mechanical systole are not aligned in time. Each cell
of the heart experiences a delay between electrical and mechanical
excitation, up to 200 ms in fact.. The result is that the R wave
occurs during end diastole of the mechanical cycle, i.e., well before
mechanical systole. Even more important, using the R wave to gate
the image acquisition does not mean that all images have to be
captured at the time of the peak of the R wave; rather the peak of
the R wave provides a common reference so that acquisitions from
different beats can capture the same phase of the heart cycle. The
actual acquisition moment can be offset from the time of the R wave
using a simple delay, i.e., each acquisition can occur with the same
delay from that peak of the R wave.
I hope that with this information you can see that the Utah torso
geometry can, indeed, be trusted to represent reasonably the
geometry of an adult human torso. Just as with the visible human
data, this is only one specific case and there are simply not enough
data available to begin to create a true atlas that specifies the
ranges of normal anatomy of the entire torso. There are atlases like
this of the brain but I don't know of any other organ system that has
received enough attention to begin to quantify anatomical variation.
<hr>
<br>
[[ Main_Page | Back to CIBC Main Page ]]
File:Stripped-model.gif
6
1012
3146
2006-02-19T17:55:04Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
CIBC:Project:ImageViewer:Documentation
0
1007
3130
1166
2006-02-21T23:01:59Z
McKay Davis
5
/* Painter Segmentation Steps / Documentation */
wikitext
text/x-wiki
===Painter Segmentation Steps / Documentation===
Keystrokes:
'+,=' Keys - Zoom out
'-,_' Keys - Zoom in
'x' Key - Kill active layer
'c' Key - Copy current layer
'v' Key - Create blank layer
'Up' Down' Keys - Change active layer
'Left,Right' Keys - Change stacking position of active layer
'o' Key - Decrease active layer opacity
'p' Key - Increase active layer opacity
'r' Key - Resets color lookup table window level and width to default
'q' Key - Quits current tool
SpaceBar Key - Completes current tool
Middle-Mouse-Button- starts Probe tool which sets other views to intersect at cursor
Mouse-Scroll-Up, or '>' key - changes current slice to next slice
Mouse-Scroll-Down, or '<' key - changes current slice to previous slice
Shift-Left-Mouse-Button-Drag - grabs and pans current window
Shift-Right-Mouse-Button-Drag - Zooms current window in and out
Shift-Middle-Mouse-Button-Click - Autoviews current volume in current window
'f' Key - Starts Flood Fill tool:
*Right mouse button sets current value to flood fill with
*Left mouse button sets seed point and performs flood fill
'b' Key - Starts Brush tool:
*Left-Mouse-Button-Drag - applies paint to current layer
*Mouse-Scroll-Wheel-Up/Down - Increases/decreases paint brush size
*Right-Mouse-Button-Click - Sets paint value to value of pixel on current layer under mouse cursor
*SpaceBar - Completes brush tool
'a' Key - Starts Crop tool:
*Left-Mouse-Button-Drag - Move/Resize crop box
*SpaceBar - Crops current layer
'u' Key - Performs Undo on last Flood Fill or Paint tool operation
CIBC:Collab:Triedman
0
961
1168
1167
2006-03-01T08:24:37Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Segmentation.JPG|135px]] [[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Department of Cardiology, Children's Hospital Boston'''
Matthew Jolley, MD
John Triedman, MD
'''Scientific Computing and Imaging Institute'''
Dana Brooks, PhD, NorthEastern University
Robert Macleod, PhD, Utah
David Weinstein, PhD, Utah
'''Surgical Planning Laboratory'''
Carl-Fredrik Westin, PhD
Raul San-Hose Estepar, PhD
Steve Pieper, PhD
Gordon Kindlmann, PhD
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Subprojects by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 16:53, 1 Feb 2006 (MST)
1170
1168
2006-03-01T08:26:24Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Segmentation.JPG|135px]] [[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Department of Cardiology, Children's Hospital Boston'''
Matthew Jolley, MD
John Triedman, MD
'''Scientific Computing and Imaging Institute'''
Dana Brooks, PhD, NorthEastern University
Robert Macleod, PhD, Utah
David Weinstein, PhD, Utah
'''Surgical Planning Laboratory'''
Carl-Fredrik Westin, PhD
Raul San-Jose Estepar, PhD
Steve Pieper, PhD
Gordon Kindlmann, PhD
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Subprojects by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 16:53, 1 Feb 2006 (MST)
1312
1170
2006-03-01T13:31:42Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Segmentation.JPG|135px]] [[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Department of Cardiology, Children's Hospital Boston'''
Matthew Jolley, MD
John Triedman, MD
'''Scientific Computing and Imaging Institute'''
Dana Brooks, PhD, NorthEastern University
Robert MacLeod, PhD, Utah
David Weinstein, PhD, Utah
'''Surgical Planning Laboratory'''
Carl-Fredrik Westin, PhD
Raul San-Jose Estepar, PhD
Steve Pieper, PhD
Gordon Kindlmann, PhD
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Subprojects by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 16:53, 1 Feb 2006 (MST)
Modeling and Visualization of Models in SCIRun/BioPSE
0
984
3119
1169
2006-03-01T08:28:00Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Status of Subproject ==
In Process
== FEM Modeling of Electric Fields in Models==
[http://software.sci.utah.edu/scirun.html SCIRun] and [http://www.sci.utah.edu/cibc/software/index.html BioPSE] are powerful tools for finite element modeling of electric fields in image based models. An introduction and tutorial for these programs and the concepts behind them are available [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/index.html here]. The [http://software.sci.utah.edu/doc/Developer/Modules/index.html module reference]is also very helpful in understanding the functionality of networks which were created by other people as well as developing your own. The following information is meant as an introduction to the steps needed to model and visualize electric fields in the models created in 3D Slicer. The specifics of functional nets will eventually be described in example based tutorials.
'''Meshing'''
SCIRun can take the voxels represented in the NRRD file and convert them into a tetrahedral mesh optimal for iterative computation and visualization in the SCIRun environment. The specifics of this vary depending on the application. The meshing capabilities within both SCIRun and 3D Slicer are an active area of research.
'''Assigning Conductivities'''
The values for conductivities and related quantities for various biological tissues are available in the literature. Appropriate values should be assigned to each tissue type. There is wide variation and care should be taken in choosing them. These can then be entered within an appropriate net using the [http://software.sci.utah.edu/src/Packages/BioPSE/Dataflow/XML/ModifyConductivities.html Modify Conductivity Module]. Values can either be entered into the GUI or defined by an Nx9 matrix.
'''Solving the Volume Conductor Problem'''
Once a model has been created and apporopriate conductivities have been assigned to the tissues a net must be created to solve the volume conductor problem and visualize the result. The basic theory and steps to solve the problem for the case of a simple dipole are summarized Chapters 5-7 of the [http://software.sci.utah.edu/doc/User/Tutorials/SCIRun_Intro/chapter_5.html SCIRun Tutorial].
'''Inserting Arbitrarily Shaped Electrodes into the Model'''
We are interested in solving the forward problem not for a simple dipole but for an electric field created by internal inplantable defibrillator electrodes inserted in different positions in image based models of children. It involves taking the models created in the previous steps in the pipeline and inserting appropriately shaped electrodes into anatomically realistic positions. In order to do this the previously created mesh must be "remeshed" to remove the original "tissue" elements and replace them with "electrode" elements in which the voltage can be set. The technology to do this is currently being developed as explained [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement here].
'''Functional Example Net as a Tutorial'''
Scalable nets for modeling the volume conductor problem and visualization of models created in 3D Slicer are being developed.
== Subproject Requirements ==
'''Control Structure'''
*Being defined and built from within SCI
'''Algorithms'''
*Smoothing/Premeshing optimization
*Meshing- Explore optimal meshing strategy/algorithms for process. Utilize existing SCIRun meshing or outside product.
*FE stiffness matrix- Utilize existing modules in BioPSE
*Insert electrodes module- This will require local remeshing and rebuilding of components of SCIRun.
'''Data Representation/User Interface'''
*Visualization of torso
**Allow ability to move electrodes in torso with precision within torso
*Visualization of torso surface field
**Show surface potentials on the chest in separate window
*Visualization of Heart
**Visualization of voltage gradients in heart
**Visualization of electrodes relative to heart
*Measurement of voltage field within heart
**Histogram
**Widget with ability to sample within visualization
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:57, 25 Jan 2006 (MST)
Segmentation of CT and MRI datasets using 3D Slicer
0
976
1172
1171
2006-03-02T03:52:34Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets.
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the [http://www.na-mic.org NAMIC toolkit], and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details the tools and steps used to segment a DICOM dataset. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
== Automated Segmentation ==
We are in the process of working to utilize segmentation algorithms developed for the brain at SPL for the chest, heart, and vasculature. Dr. Westin's group at SPL has substantial experience in segmentation of images and we are beginning to explore various techniques for automated segmentation.
== Subproject Improvements/Requirements ==
* Automated segmentation techniques/algorithms
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
3096
1172
2006-03-02T03:53:52Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Subproject Status ==
3D Slicer is an excellent tool for segmentation of medical imaging datasets.
== Segmentation ==
Segmentation of images is the process of identifying and labeling regions of interest within an image. 3D Slicer is a powerful and robust tool for semi-automated and manual segmentation of images. It is built on the [http://www.na-mic.org NAMIC toolkit], and arguably the open source standard for GUI based 3D image segmentation. It is currently optimized for segmentation of the MRI images of the brain, but can be used to segment any DICOM dataset.
'''Getting Started'''
The first step is to obtain the 3D Slicer program as detailed on the [http://www.slicer.org/ 3D Slicer site]. 3D Slicer is available precompiled for many platforms or may built from source. You should familiarize yourself with the program by going through the excellent ''Tutorial'' link on the home page. There is also a wiki site with an example based tutorial [http://wiki.na-mic.org/Wiki/index.php/Slicer:Workshops:User_Training_101 here]. The users email list is also worth subscribing to. Because 3D Slicer is an evolving tool somebody might have built or be building a tool you want.
'''Modifying Data'''
Once you are comfortable importing DICOM datasets as outlined in ''Tutorial'' turn your attention to the ''User's Guide'' linked on the same page. Within the ''User's Guide'' familiarize yourself with the ''Modifying Data'' section. The details, the tools, and the steps used to segment a DICOM dataset are described. Pay particular attention to the thresholding, save island, remove island, change island, and most importantly the all important '''UNDO''' button. The draw function will also be useful. Play with these until you are familiar with how they work.
'''Saving Data'''
At the end of the ''Modifying Data'' section it details the numerous ways to save data within 3D Slicer. Within this page and within 3D slicer a label map is defined as a voxelized volume. This can be saved in several formats but the most useful for our purposes is the [http://teem.sourceforge.net/nrrd/title NRRD format]created by Dr. Kindlmann. The NRRD format has an associated set of tools called [http://teem.sourceforge.net/unrrdu/index.html unu]which allow the manipulation and combination of individual NRRDs. The option to save as a NRRD file is a little hard to find. Within the Slicer window go to ''Volumes''-->''More'' and look down to the bottom where it sayes NRRD. Be sure to specify the appropriate label map for the 3D Slicer to save as a NRRD in the top ''Active Volume'' selector.
Another useful tool is to utilize the Modelmaker module to take your label map and convert it into a model which shows the surface of the label map in 3D and can be saved as a .vtk file. This is useful for examining your label maps as a surface within the 3D Slicer program.
These two formats should be understood as separate and useful for different purposes. The label maps saved in the NRRD format will be the building blocks which are combined and hierarchically "stacked" on one another to form the final model for import into SCIRun. The models saved as .vtk files are useful for visualization of the shell of the label map within the Slicer program.
== Automated Segmentation ==
We are in the process of working to utilize segmentation algorithms developed for the brain at SPL for the chest, heart, and vasculature. Dr. Westin's group at SPL has substantial experience in segmentation of images and we are beginning to explore various techniques for automated segmentation.
== Subproject Improvements/Requirements ==
* Automated segmentation techniques/algorithms
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 09:42, 25 Jan 2006 (MST)
3/1/06 Collaboration formalized and grant submitted to CIMIT for further work
0
1013
1179
2006-03-02T04:01:32Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
Grant submitted to CIMIT with the following individuals listed as collaborators:
Principal Investigator: Matthew Jolley, MD, Children’s Hospital Boston
Mentors: John Triedman MD, Children’s Hospital Boston (Sponsor)
Dana Brooks PhD, Northeastern University
Collaborators: Robert MacLeod PhD, Scientific Computing and Imaging Institute
Carl-Fredrik Westin PhD, Surgical Planning Laboratory
3147
1179
2006-03-02T05:07:47Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
Grant submitted to CIMIT with the following individuals listed as collaborators:
'''Principal Investigator:''' Matthew Jolley, MD, Children’s Hospital Boston
'''Mentors:'''
John Triedman MD, Children’s Hospital Boston (Sponsor)
Dana Brooks PhD, Northeastern University
'''Collaborators: '''
Robert MacLeod PhD, Scientific Computing and Imaging Institute
Carl-Fredrik Westin PhD, Surgical Planning Laboratory
Main Page
0
1
1183
1182
2006-03-27T15:13:54Z
Mjc
35
/* Technical Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
* [[CIBC:Project:MeshRefinement | Mesh refinement]]
* [[CIBC:Project:TetGen | TetGen Bridge]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1219
1183
2006-03-27T15:15:19Z
Mjc
35
/* Technical Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
CIBC:Project:TetGen
0
1014
1184
2006-03-27T15:25:08Z
Mjc
35
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation: [http://tetgen.berlios.de/ TetGen]
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
1185
1184
2006-03-27T15:28:48Z
Mjc
35
/* Documenting the TetGen bridge */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation: [http://tetgen.berlios.de/ TetGen]
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module will attempt to compile.
1186
1185
2006-03-27T15:29:23Z
Mjc
35
/* Documenting the TetGen bridge */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation: [http://tetgen.berlios.de/ TetGen]
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
1187
1186
2006-03-27T15:29:51Z
Mjc
35
/* Documenting the TetGen bridge */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
1188
1187
2006-03-27T15:31:57Z
Mjc
35
/* Documenting the TetGen bridge */
wikitext
text/x-wiki
=== Documenting the TetGen bridge ===
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
1189
1188
2006-03-27T17:41:22Z
Mjc
35
/* Documenting the TetGen bridge */
wikitext
text/x-wiki
=== Documenting the TetGen bridge ===
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
Note:
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
1190
1189
2006-03-29T17:12:23Z
Mjc
35
/* Documenting the TetGen bridge */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals)
* point cloud input field (optional)
** force the output volume to include these nodes
* UI which allows you to specify an offset distance.
** this distance will be used to choose a points just inside each containted surface
** one point will be chosen per different region id in the property list
1191
1190
2006-03-29T17:14:40Z
Mjc
35
/* Compiling and Configuring */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
== TetGen ==
'''module spec'''
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals)
* point cloud input field (optional)
** force the output volume to include these nodes
* UI which allows you to specify an offset distance.
** this distance will be used to choose a points just inside each containted surface
** one point will be chosen per different region id in the property list
1192
1191
2006-03-29T17:14:57Z
Mjc
35
/* TetGen */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
=== TetGen ===
'''module spec'''
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals)
* point cloud input field (optional)
** force the output volume to include these nodes
* UI which allows you to specify an offset distance.
** this distance will be used to choose a points just inside each containted surface
** one point will be chosen per different region id in the property list
1193
1192
2006-03-29T17:21:18Z
Mjc
35
/* TetGen */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals)
* point cloud input field (optional)
** force the output volume to include these nodes
* UI which allows you to specify an offset distance.
** this distance will be used to choose a points just inside each containted surface
** one point will be chosen per different region id in the property list
1194
1193
2006-03-29T17:23:23Z
Mjc
35
/* TetGen */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals)
* point cloud input field (optional)
** force the output volume to include these nodes
* UI which allows you to specify an offset distance.
** this distance will be used to choose a points just inside each containted surface
** one point will be chosen per different region id in the property list
1195
1194
2006-03-29T17:23:38Z
Mjc
35
/* TetGen */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
== TetGen ==
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals)
* point cloud input field (optional)
** force the output volume to include these nodes
* UI which allows you to specify an offset distance.
** this distance will be used to choose a points just inside each containted surface
** one point will be chosen per different region id in the property list
1196
1195
2006-03-29T17:23:50Z
Mjc
35
/* BuildFEVol */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
== TetGen ==
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
== BuildFEVol ==
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals)
* point cloud input field (optional)
** force the output volume to include these nodes
* UI which allows you to specify an offset distance.
** this distance will be used to choose a points just inside each containted surface
** one point will be chosen per different region id in the property list
1197
1196
2006-03-29T17:28:31Z
Mjc
35
/* BuildFEVol */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
== TetGen ==
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
== BuildFEVol ==
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals)
* point cloud input field (optional)
** force the output volume to include these nodes
* UI which allows you to specify an offset distance.
** this distance will be used to choose a points just inside each containted surface
** one point will be chosen per different region id in the property list
This module is for building a FE TetVol that specifies a material id per element. GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >
one double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1198
1197
2006-03-29T17:28:55Z
Mjc
35
/* BuildFEVol */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
== TetGen ==
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
== BuildFEVol ==
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals)
* point cloud input field (optional)
** force the output volume to include these nodes
* UI which allows you to specify an offset distance.
** this distance will be used to choose a points just inside each containted surface
** one point will be chosen per different region id in the property list
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1199
1198
2006-03-29T17:29:23Z
Mjc
35
/* BuildFEVol */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
== TetGen ==
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
== BuildFEVol ==
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals)
* point cloud input field (optional)
** force the output volume to include these nodes
* UI which allows you to specify an offset distance.
** this distance will be used to choose a points just inside each containted surface
** one point will be chosen per different region id in the property list
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1200
1199
2006-03-29T17:30:44Z
Mjc
35
/* BuildFEVol */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
== TetGen ==
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
== BuildFEVol ==
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals)
* point cloud input field (optional)
** force the output volume to include these nodes
* UI which allows you to specify an offset distance.
** this distance will be used to choose a points just inside each containted surface
** one point will be chosen per different region id in the property list
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1201
1200
2006-03-29T17:30:56Z
Mjc
35
/* BuildFEVol */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
== TetGen ==
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
== BuildFEVol ==
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals)
* point cloud input field (optional)
** force the output volume to include these nodes
* UI which allows you to specify an offset distance.
** this distance will be used to choose a points just inside each containted surface
** one point will be chosen per different region id in the property list
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1202
1201
2006-03-29T19:37:05Z
Mjc
35
/* BuildFEVol */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
== TetGen ==
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
== BuildFEVol ==
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region
* point cloud input field (optional)
** force the output volume to include these nodes
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1203
1202
2006-03-29T19:37:57Z
Mjc
35
/* BuildFEVol */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
----
Perhaps we need two modules, one which just lets the user choose command line switches and takes dynamic input. Another which is specifically for building a finite element volume from surfaces. This first module can just be '''TetGen'''. the second module name - '''BuildFEVol''' ??
== TetGen ==
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
== BuildFEVol ==
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** force the output volume to include these nodes
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1204
1203
2006-03-29T19:44:39Z
Mjc
35
/* Compiling and Configuring */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
== TetGen ==
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
== BuildFEVol ==
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** force the output volume to include these nodes
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1205
1204
2006-03-29T19:45:27Z
Mjc
35
/* Compiling and Configuring */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
== Modules ==
== TetGen ==
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
== BuildFEVol ==
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** force the output volume to include these nodes
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1206
1205
2006-03-29T19:45:53Z
Mjc
35
/* Modules */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
== Proposed Modules ==
== TetGen ==
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
== BuildFEVol ==
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** force the output volume to include these nodes
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
CIBC:Project:TetGen
0
1014
1207
1206
2006-03-29T19:46:10Z
Mjc
35
/* TetGen */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
== Proposed Modules ==
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
== BuildFEVol ==
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** force the output volume to include these nodes
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1208
1207
2006-03-29T19:46:19Z
Mjc
35
/* BuildFEVol */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
== Proposed Modules ==
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** force the output volume to include these nodes
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1209
1208
2006-03-29T19:48:03Z
Mjc
35
/* Proposed Modules */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
== Proposed Modules ==
The following modules depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** force the output volume to include these nodes
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1210
1209
2006-03-29T19:48:25Z
Mjc
35
/* Proposed Modules */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
== Proposed Modules ==
The following modules would depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input
** for ensuring points exist in output (optional input)
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** force the output volume to include these nodes
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1211
1210
2006-03-29T19:51:11Z
Mjc
35
/* TetGen */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
== Proposed Modules ==
The following modules would depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input (optional)
** Ensure that each point exist in output volume nodes.
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** force the output volume to include these nodes
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1212
1211
2006-03-29T19:52:00Z
Mjc
35
/* BuildFEVol */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
== Proposed Modules ==
The following modules would depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input (optional)
** Ensure that each point exist in output volume nodes.
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1213
1212
2006-03-29T19:52:23Z
Mjc
35
/* TetGen */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
== Proposed Modules ==
The following modules would depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* second point cloud field input
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1214
1213
2006-04-04T14:08:47Z
Mjc
35
/* TetGen */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
== Proposed Modules ==
The following modules would depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* second point cloud field input (optional)
** only needed if you need to control the region attributes.
*** like the region id (material value)
*** or if you want to have regional control over the volume constraint
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1215
1214
2006-04-04T14:20:55Z
Mjc
35
/* Compiling and Configuring */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
'''Crash Bug'''
Currently tetgen can crash given a sperical input mesh. I am talking with Hang Si about it. You can work around this by jittering the nodes in the mesh somewhat. This happens at least on 64bit machines.
== Proposed Modules ==
The following modules would depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* second point cloud field input (optional)
** only needed if you need to control the region attributes.
*** like the region id (material value)
*** or if you want to have regional control over the volume constraint
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* this module uses tetgen in a very specific way (the most stable way we can determine)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1216
1215
2006-04-04T14:25:33Z
Mjc
35
/* BuildFEVol */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
'''Crash Bug'''
Currently tetgen can crash given a sperical input mesh. I am talking with Hang Si about it. You can work around this by jittering the nodes in the mesh somewhat. This happens at least on 64bit machines.
== Proposed Modules ==
The following modules would depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* second point cloud field input (optional)
** only needed if you need to control the region attributes.
*** like the region id (material value)
*** or if you want to have regional control over the volume constraint
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* this module uses tetgen in a very specific way (the most stable way we can determine)
* We will need a UI to allow the user to input values for q or a switches (quality, area)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1217
1216
2006-04-04T14:29:39Z
Mjc
35
/* TetGen */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
'''Crash Bug'''
Currently tetgen can crash given a sperical input mesh. I am talking with Hang Si about it. You can work around this by jittering the nodes in the mesh somewhat. This happens at least on 64bit machines.
== Proposed Modules ==
The following modules would depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* second point cloud field input (optional)
** only needed if you need to control the region attributes.
*** like the region id (material value)
*** or if you want to have regional control over the volume constraint
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
[[Image:tetgen3surf.png]]
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* this module uses tetgen in a very specific way (the most stable way we can determine)
* We will need a UI to allow the user to input values for q or a switches (quality, area)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1218
1217
2006-04-04T14:30:23Z
Mjc
35
/* TetGen */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
'''Crash Bug'''
Currently tetgen can crash given a sperical input mesh. I am talking with Hang Si about it. You can work around this by jittering the nodes in the mesh somewhat. This happens at least on 64bit machines.
== Proposed Modules ==
The following modules would depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* second point cloud field input (optional)
** only needed if you need to control the region attributes.
*** like the region id (material value)
*** or if you want to have regional control over the volume constraint
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
The test netowork is:
SCIRun/src/nets/Modules/FieldsCreate/TetGen-3regions.srn
[[Image:tetgen3surf.png]]
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* this module uses tetgen in a very specific way (the most stable way we can determine)
* We will need a UI to allow the user to input values for q or a switches (quality, area)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1232
1218
2006-04-04T14:31:47Z
Mjc
35
/* TetGen */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
'''Crash Bug'''
Currently tetgen can crash given a sperical input mesh. I am talking with Hang Si about it. You can work around this by jittering the nodes in the mesh somewhat. This happens at least on 64bit machines.
== Proposed Modules ==
The following modules would depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* second point cloud field input (optional)
** only needed if you need to control the region attributes.
*** like the region id (material value)
*** or if you want to have regional control over the volume constraint
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
The test netowork is:
SCIRun/src/nets/Modules/FieldsCreate/TetGen-3regions.srn
Use the ClipField UI in this net to show you the different tetvol regions, valid values are 1,2,and 3.
[[Image:tetgen3surf.png]]
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* this module uses tetgen in a very specific way (the most stable way we can determine)
* We will need a UI to allow the user to input values for q or a switches (quality, area)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
1233
1232
2006-04-13T20:35:43Z
Mjc
35
/* Documenting the TetGen bridge */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
The dev version: [http://www.wias-berlin.de/people/si/tetgen-dev.tgz TetGen Developement Version]
I recommend using the dev version, as it has some fixes and better debugging info and a new -q refinement algorithm. (See this [http://www.wias-berlin.de/people/si/refine.pdf paper])
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
'''Crash Bug'''
Currently tetgen can crash given a sperical input mesh. I am talking with Hang Si about it. You can work around this by jittering the nodes in the mesh somewhat. This happens at least on 64bit machines.
== Proposed Modules ==
The following modules would depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* second point cloud field input (optional)
** only needed if you need to control the region attributes.
*** like the region id (material value)
*** or if you want to have regional control over the volume constraint
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
The test netowork is:
SCIRun/src/nets/Modules/FieldsCreate/TetGen-3regions.srn
Use the ClipField UI in this net to show you the different tetvol regions, valid values are 1,2,and 3.
[[Image:tetgen3surf.png]]
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* this module uses tetgen in a very specific way (the most stable way we can determine)
* We will need a UI to allow the user to input values for q or a switches (quality, area)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
3148
1233
2006-04-13T20:36:13Z
Mjc
35
/* Documenting the TetGen bridge */
wikitext
text/x-wiki
== Documenting the TetGen bridge ==
Download and documentation site: [http://tetgen.berlios.de/ TetGen]
The dev version: [http://www.wias-berlin.de/people/si/tetgen-dev.tgz TetGen Developement Version]
I recommend using the dev version, as it has some fixes and better debugging info and a new -q refinement algorithm. (See this [http://www.wias-berlin.de/people/si/refine.pdf paper])
=== Compiling and Configuring ===
# download the tarball
# untar it.
# cd into tetgen1.4.0
# If you have a '''64 bit machine''', you have to add -fPIC to CFLAGS in makefile.
# type: ''make tetlib''
# on your scirun configure line add ''--with-tetgen=/full/path/to/your/tetgen1.4.0''
Once you successfully configure the module '''SCIRun/FieldsCreate/TetGen''' will attempt to compile.
----
'''Note:'''
The command line switches that are passed to tetrahedralize are very sensitive to the input data. It is easy to make it do anything from crashing to infinite loop to work correctly. So I'm not sure how much control we should allow the user from a gui.
'''Crash Bug'''
Currently tetgen can crash given a sperical input mesh. I am talking with Hang Si about it. You can work around this by jittering the nodes in the mesh somewhat. This happens at least on 64bit machines.
== Proposed Modules ==
The following modules would depend upon tetgen, and conditionally compile when successfully configured --with-tetgen.
=== TetGen ===
'''module spec'''
* More generic use of tetgen
* Allow the user to specify the command line switch string
** which can allow them to crash tetgen or infinite loop
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* second point cloud field input (optional)
** only needed if you need to control the region attributes.
*** like the region id (material value)
*** or if you want to have regional control over the volume constraint
** these points indicate regions (in the same order as input fields)
** the double value stored at the points are the [http://tetgen.berlios.de/switches.a.html volume constraint]
* dynamic field input port
** each input is added with a unique region number
This module is for using the capabilities of tetgen on SCIRun fields.
The test netowork is:
SCIRun/src/nets/Modules/FieldsCreate/TetGen-3regions.srn
Use the ClipField UI in this net to show you the different tetvol regions, valid values are 1,2,and 3.
[[Image:tetgen3surf.png]]
=== BuildFEVol ===
'''module spec'''
* each geometrically distinct surface has a unique region number stored at each face (constant data)
* One input field for the surface data
** constant basis surface field
** region id at each face indicating which spatially different surface the face belongs to.
** a property which maps region id to material id, [http://tetgen.berlios.de/switches.a.html volume constraint]
** correct surfaces (consistent ordering with outward facing normals), and a Point in the region
** the property would be generated upstream
** likely the result of another module that does ray casting with user input for specifying the volume constraint in a region think gather fields ++
* point cloud input field (optional)
** Force the output volume to include each point as nodes.
* this module uses tetgen in a very specific way (the most stable way we can determine)
* We will need a UI to allow the user to input values for q or a switches (quality, area)
This module is for building a FE TetVol that specifies a material id per element. '''GenericField<TetVolMesh<TetLinearLgn<Point> >, ConstantBasis<double>, vector<double> >'''
One double per element should be flexible enough to represent any material representation, although char is likely sufficient but limiting. ''Perhaps this should be specified in the UI?''
Help:Editing
12
1015
3149
2006-03-29T21:22:15Z
Dav
18
Added pointer Marty provided.
wikitext
text/x-wiki
= Helpful Links =
[http://meta.wikimedia.org/wiki/Help:Contents#For_editors Media Wiki Editing Help]
File:Tetgen3surf.png
6
1016
3150
2006-04-04T14:28:19Z
Mjc
35
image result of the test network for TetGen
wikitext
text/x-wiki
image result of the test network for TetGen
Main Page
0
1
1225
1219
2006-04-05T20:34:36Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Development===
[[CIBC:Dev:Main | Current development priorities]]
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1234
1225
2006-04-05T20:46:59Z
Dmw
6
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
1242
1234
2006-04-16T15:54:17Z
Macleod
3
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1284
1242
2006-04-16T17:17:56Z
Macleod
3
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshop ===
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
CIBC:Dev:Main
0
1017
1220
2006-04-05T20:39:15Z
Dmw
6
wikitext
text/x-wiki
== Developers ==
McKay Davis
#Painter module
Michael Callahan
#InsertField module
#Mesh smoother (MESQUITE)
Darby Van Uitert
#Fix PowerApps
Marty Cole
#TetGen mesh generator
#NeuroFEM interface
Dav de St. Germain
#ThirdParty
== High Priority Bugs ==
#Slow first rendering (just Mac?)
#Saving and reloading nets
1221
1220
2006-04-05T20:40:31Z
Dmw
6
wikitext
text/x-wiki
== Developers ==
McKay Davis
#[[Painter module]]
Michael Callahan
#InsertField module
#Mesh smoother (MESQUITE)
Darby Van Uitert
#Fix PowerApps
Marty Cole
#TetGen mesh generator
#NeuroFEM interface
Dav de St. Germain
#ThirdParty
== High Priority Bugs ==
#Slow first rendering (just Mac?)
#Saving and reloading nets
1222
1221
2006-04-05T20:41:00Z
Dmw
6
wikitext
text/x-wiki
== Developers ==
McKay Davis
#[Painter module | CIBC:Dev:Painter]
Michael Callahan
#InsertField module
#Mesh smoother (MESQUITE)
Darby Van Uitert
#Fix PowerApps
Marty Cole
#TetGen mesh generator
#NeuroFEM interface
Dav de St. Germain
#ThirdParty
== High Priority Bugs ==
#Slow first rendering (just Mac?)
#Saving and reloading nets
1223
1222
2006-04-05T20:41:10Z
Dmw
6
wikitext
text/x-wiki
== Developers ==
McKay Davis
#[[Painter module | CIBC:Dev:Painter]]
Michael Callahan
#InsertField module
#Mesh smoother (MESQUITE)
Darby Van Uitert
#Fix PowerApps
Marty Cole
#TetGen mesh generator
#NeuroFEM interface
Dav de St. Germain
#ThirdParty
== High Priority Bugs ==
#Slow first rendering (just Mac?)
#Saving and reloading nets
1224
1223
2006-04-05T20:41:25Z
Dmw
6
wikitext
text/x-wiki
== Developers ==
McKay Davis
#[[CIBC:Dev:Painter | Painter module]]
Michael Callahan
#InsertField module
#Mesh smoother (MESQUITE)
Darby Van Uitert
#Fix PowerApps
Marty Cole
#TetGen mesh generator
#NeuroFEM interface
Dav de St. Germain
#ThirdParty
== High Priority Bugs ==
#Slow first rendering (just Mac?)
#Saving and reloading nets
1226
1224
2006-04-05T20:45:54Z
Dmw
6
wikitext
text/x-wiki
== Developers ==
McKay Davis
#[[CIBC:Dev:Painter | Painter module]]
Michael Callahan
#[[CIBC:Dev:InsertField | InsertField module]]
#[[CIBC:Dev:MeshSmoother| Mesh smoother (MESQUITE)]]
Darby Van Uitert
#[[CIBC:Dev:PowerAppUpdates | Fix PowerApps]]
Marty Cole
#[[CIBC:Dev:TetGen | TetGen mesh generator]]
#[[CIBC:Dev:NeuroFEMInterface | NeuroFEM interface]]
Dav de St. Germain
#[[CIBC:Dev:ThirdParty1.25.3 | ThirdParty 1.25.3]]
== High Priority Bugs ==
#[[CIBC:Dev:SlowFieldRender | Slow first rendering (just Mac?)]]
#[[CIBC:Dev:SavingAndReloadingNets | Saving and reloading nets]]
#[[CIBC:Dev:SlowSetupFEMatrix | SetupFEMatrix is 4x slower than it used to be]]
1227
1226
2006-04-05T20:50:05Z
Dmw
6
wikitext
text/x-wiki
== Developers ==
McKay Davis
#[[CIBC:Dev:Painter | Painter module]]
Michael Callahan
#[[CIBC:Dev:InsertField | InsertField module]]
#[[CIBC:Dev:MeshSmoother| Mesh smoother (MESQUITE)]]
Darby Van Uitert
#[[CIBC:Dev:PowerAppUpdates | Fix PowerApps]]
Marty Cole
#[[CIBC:Dev:TetGen | TetGen mesh generator]]
#[[CIBC:Dev:NeuroFEMInterface | NeuroFEM interface]]
Dav de St. Germain
#[[CIBC:Dev:ThirdParty1.25.3 | ThirdParty 1.25.3]]
== High Priority Bugs / Projects ==
#[[CIBC:Dev:SlowFieldRender | Slow first rendering (just Mac?)]]
#[[CIBC:Dev:SavingAndReloadingNets | Saving and reloading nets]]
#[[CIBC:Dev:SlowSetupFEMatrix | SetupFEMatrix is 4x slower than it used to be]]
== Recently Completed Bugs / Projects ==
#[[CIBC:Dev:Teem1.9 | Update SCIRun to work with Teem 1.9 -- Darby -- completed 4/4/06]]
1257
1227
2006-04-06T20:22:05Z
Jeroen
19
/* High Priority Bugs / Projects */
wikitext
text/x-wiki
== Developers ==
McKay Davis
#[[CIBC:Dev:Painter | Painter module]]
Michael Callahan
#[[CIBC:Dev:InsertField | InsertField module]]
#[[CIBC:Dev:MeshSmoother| Mesh smoother (MESQUITE)]]
Darby Van Uitert
#[[CIBC:Dev:PowerAppUpdates | Fix PowerApps]]
Marty Cole
#[[CIBC:Dev:TetGen | TetGen mesh generator]]
#[[CIBC:Dev:NeuroFEMInterface | NeuroFEM interface]]
Dav de St. Germain
#[[CIBC:Dev:ThirdParty1.25.3 | ThirdParty 1.25.3]]
== High Priority Bugs / Projects ==
#[[CIBC:Dev:SlowFieldRender | Slow first rendering (just Mac?)]]
#[[CIBC:Dev:SavingAndReloadingNets | Saving and reloading nets]]
#[[CIBC:Dev:AutomaticResizingGUI| Guis do not resize automatically and a too large GUI window causes problems]]
#[[CIBC:Dev:SlowSetupFEMatrix | SetupFEMatrix is 4x slower than it used to be]]
== Recently Completed Bugs / Projects ==
#[[CIBC:Dev:Teem1.9 | Update SCIRun to work with Teem 1.9 -- Darby -- completed 4/4/06]]
CIBC:Dev:Painter
0
1018
1229
2006-04-05T20:41:51Z
Dmw
6
wikitext
text/x-wiki
McKay and Josh, please write and link stuff here about the Painter module project.
1230
1229
2006-04-12T21:35:37Z
Cates
4
wikitext
text/x-wiki
McKay and Josh, please write and link stuff here about the Painter module project.
===Projects for Segmentaion Application===
<pre>The following is a brief list of projects and estimated times to completion for the
set of functionality that we would like to get done before the UCSD visit.
</pre>
* Load Sub-Volumes (1.5 Weeks)<br>Some sort of interface to load from a higher resolution ROI of the current volume<br>
** Design, Spec Interface (2 days)
** Coding of Interface (3 days)
** Coding of Sub-Volume Nrrd Loader (2 days)
* Linked Volumes (1.5 Weeks)<br>This is to allow operations (such as the above Load Sub-Volume) to affect multiple layers (volumes) concurrently. Another example would be cropping a volume, and all susequent derived segmentations are also cropped.
** Design, Spec Interface (2-3 days)<br>What tools/filter are affected? Are all operations valid for multiple layers or should we just support a very small subset?
** Coding (4 Days)<br>For demo purposes, only a few operations (Load sub-volume, resample, crop) need to be supported. This should be enough time...
*Save / Load Dialogs (3 days)<br>Save, load dialogs need to be available without the use of the network editor.<br>This may take code to internally change the state of the network to add connections to BundeSetNrrd and BundleGetNrrd
*Workflow / XML spec / Default Parameters Specification and Design (1 Week)<br>This is almost more of a general GUI layout discussion. How are we going to create customized GUI workflows for specific segmetation datasets? This week of time is just to discuss exactly what framework we will provide for that -- not actually generating and coding these workflows/GUIs.
**Create mockup images to show for demo (2 days)
*More ITK Filters (1-? Weeks)
**Each filter takes about 1 day to incorporate into the workflow.
**Any automatically derived parameters from the volume or user generated will take extra coding.
* Volume Rednering Improvements (1-? Weeks)<br>We need to evaluate exactly where volume rendering fits into the workflow and what steps to show via volume rendering.
**Pixel mask volume (4 days)<br>We need the ability to only render segmented portions of the volume. This can be done w/ an 8-bit volume of the same dimensions as the original.
**Low-Resolution while rotating (3 days)<br>Lower sampling rates while moving the volume are not sufficent for large 3D textures. We need to generate a sub-sampled version of large volumes that is rendered when the user changes the camera. This will greatly improve 3d navigation
**BioImage style 2D transfer function painting (2 days)<br>The Painter code does not currently have the original dual-domain transfer funciton painting. Re-incorporate the code.
**Multi-Resolution Volume Rendering (???)<br>Kurt has a multi-resolution volume renderer intermixed with our volume rendering code. With the above addition of higher resolution sub-volumes, this would be a great thing to also visualize correctly.
1231
1230
2006-04-12T21:36:11Z
Cates
4
/* Projects for Segmentaion Application */
wikitext
text/x-wiki
McKay and Josh, please write and link stuff here about the Painter module project.
===Projects for Segmentation Application===
<pre>The following is a brief list of projects and estimated times to completion for the
set of functionality that we would like to get done before the UCSD visit.
</pre>
* Load Sub-Volumes (1.5 Weeks)<br>Some sort of interface to load from a higher resolution ROI of the current volume<br>
** Design, Spec Interface (2 days)
** Coding of Interface (3 days)
** Coding of Sub-Volume Nrrd Loader (2 days)
* Linked Volumes (1.5 Weeks)<br>This is to allow operations (such as the above Load Sub-Volume) to affect multiple layers (volumes) concurrently. Another example would be cropping a volume, and all susequent derived segmentations are also cropped.
** Design, Spec Interface (2-3 days)<br>What tools/filter are affected? Are all operations valid for multiple layers or should we just support a very small subset?
** Coding (4 Days)<br>For demo purposes, only a few operations (Load sub-volume, resample, crop) need to be supported. This should be enough time...
*Save / Load Dialogs (3 days)<br>Save, load dialogs need to be available without the use of the network editor.<br>This may take code to internally change the state of the network to add connections to BundeSetNrrd and BundleGetNrrd
*Workflow / XML spec / Default Parameters Specification and Design (1 Week)<br>This is almost more of a general GUI layout discussion. How are we going to create customized GUI workflows for specific segmetation datasets? This week of time is just to discuss exactly what framework we will provide for that -- not actually generating and coding these workflows/GUIs.
**Create mockup images to show for demo (2 days)
*More ITK Filters (1-? Weeks)
**Each filter takes about 1 day to incorporate into the workflow.
**Any automatically derived parameters from the volume or user generated will take extra coding.
* Volume Rednering Improvements (1-? Weeks)<br>We need to evaluate exactly where volume rendering fits into the workflow and what steps to show via volume rendering.
**Pixel mask volume (4 days)<br>We need the ability to only render segmented portions of the volume. This can be done w/ an 8-bit volume of the same dimensions as the original.
**Low-Resolution while rotating (3 days)<br>Lower sampling rates while moving the volume are not sufficent for large 3D textures. We need to generate a sub-sampled version of large volumes that is rendered when the user changes the camera. This will greatly improve 3d navigation
**BioImage style 2D transfer function painting (2 days)<br>The Painter code does not currently have the original dual-domain transfer funciton painting. Re-incorporate the code.
**Multi-Resolution Volume Rendering (???)<br>Kurt has a multi-resolution volume renderer intermixed with our volume rendering code. With the above addition of higher resolution sub-volumes, this would be a great thing to also visualize correctly.
3153
1231
2006-04-12T21:36:46Z
Cates
4
wikitext
text/x-wiki
===Projects for Segmentation Application===
<pre>The following is a brief list of projects and estimated times to completion for the
set of functionality that we would like to get done before the UCSD visit.
</pre>
* Load Sub-Volumes (1.5 Weeks)<br>Some sort of interface to load from a higher resolution ROI of the current volume<br>
** Design, Spec Interface (2 days)
** Coding of Interface (3 days)
** Coding of Sub-Volume Nrrd Loader (2 days)
* Linked Volumes (1.5 Weeks)<br>This is to allow operations (such as the above Load Sub-Volume) to affect multiple layers (volumes) concurrently. Another example would be cropping a volume, and all susequent derived segmentations are also cropped.
** Design, Spec Interface (2-3 days)<br>What tools/filter are affected? Are all operations valid for multiple layers or should we just support a very small subset?
** Coding (4 Days)<br>For demo purposes, only a few operations (Load sub-volume, resample, crop) need to be supported. This should be enough time...
*Save / Load Dialogs (3 days)<br>Save, load dialogs need to be available without the use of the network editor.<br>This may take code to internally change the state of the network to add connections to BundeSetNrrd and BundleGetNrrd
*Workflow / XML spec / Default Parameters Specification and Design (1 Week)<br>This is almost more of a general GUI layout discussion. How are we going to create customized GUI workflows for specific segmetation datasets? This week of time is just to discuss exactly what framework we will provide for that -- not actually generating and coding these workflows/GUIs.
**Create mockup images to show for demo (2 days)
*More ITK Filters (1-? Weeks)
**Each filter takes about 1 day to incorporate into the workflow.
**Any automatically derived parameters from the volume or user generated will take extra coding.
* Volume Rednering Improvements (1-? Weeks)<br>We need to evaluate exactly where volume rendering fits into the workflow and what steps to show via volume rendering.
**Pixel mask volume (4 days)<br>We need the ability to only render segmented portions of the volume. This can be done w/ an 8-bit volume of the same dimensions as the original.
**Low-Resolution while rotating (3 days)<br>Lower sampling rates while moving the volume are not sufficent for large 3D textures. We need to generate a sub-sampled version of large volumes that is rendered when the user changes the camera. This will greatly improve 3d navigation
**BioImage style 2D transfer function painting (2 days)<br>The Painter code does not currently have the original dual-domain transfer funciton painting. Re-incorporate the code.
**Multi-Resolution Volume Rendering (???)<br>Kurt has a multi-resolution volume renderer intermixed with our volume rendering code. With the above addition of higher resolution sub-volumes, this would be a great thing to also visualize correctly.
CIBC:Dev:SavingAndReloadingNets
0
1019
3151
2006-04-05T21:30:13Z
Jeroen
19
wikitext
text/x-wiki
== BUG description ==
When saving a net and then reloading a new network, TCL complains about a large number of variables not being initiated.
Ignoring all complaints one can continue, but clicking through a couple of pages of errors is not how it supposed to be.
This worked fine until we switched to the XML srn files.
THIS NEEDS TO BE FIXED BEFORE THE WORKSHOP.
-- Jeroen
CIBC:Project:ImageViewer:Timeline
0
1020
1228
2006-04-12T17:41:58Z
McKay Davis
5
wikitext
text/x-wiki
===Projects for Segmentaion Application===
<pre>The following is a brief list of projects and estimated times to completion for the
set of functionality that we would like to get done before the UCSD visit.
</pre>
* Load Sub-Volumes (1.5 Weeks)<br>Some sort of interface to load from a higher resolution ROI of the current volume<br>
** Design, Spec Interface (2 days)
** Coding of Interface (3 days)
** Coding of Sub-Volume Nrrd Loader (2 days)
* Linked Volumes (1.5 Weeks)<br>This is to allow operations (such as the above Load Sub-Volume) to affect multiple layers (volumes) concurrently. Another example would be cropping a volume, and all susequent derived segmentations are also cropped.
** Design, Spec Interface (2-3 days)<br>What tools/filter are affected? Are all operations valid for multiple layers or should we just support a very small subset?
** Coding (4 Days)<br>For demo purposes, only a few operations (Load sub-volume, resample, crop) need to be supported. This should be enough time...
* Volume Rednering Improvements (1-? Weeks)<br>We need to evaluate exactly where volume rendering fits into the workflow and what steps to show via volume rendering.
**Pixel mask volume (4 days)<br>We need the ability to only render segmented portions of the volume. This can be done w/ an 8-bit volume of the same dimensions as the original.
**Low-Resolution while rotating (3 days)<br>Lower sampling rates while moving the volume are not sufficent for large 3D textures. We need to generate a sub-sampled version of large volumes that is rendered when the user changes the camera. This will greatly improve 3d navigation
**BioImage style 2D transfer function painting (2 days)<br>The Painter code does not currently have the original dual-domain transfer funciton painting. Re-incorporate the code.
**Multi-Resolution Volume Rendering (???)<br>Kurt has a multi-resolution volume renderer intermixed with our volume rendering code. With the above addition of higher resolution sub-volumes, this would be a great thing to also visualize correctly.
*Save / Load Dialogs (3 days)<br>Save, load dialogs need to be available without the use of the network editor.<br>This may take code to internally change the state of the network to add connections to BundeSetNrrd and BundleGetNrrd
*Workflow / XML spec / Default Parameters Specification and Design (1 Week)<br>This is almost more of a general GUI layout discussion. How are we going to create customized GUI workflows for specific segmetation datasets? This week of time is just to discuss exactly what framework we will provide for that -- not actually generating and coding these workflows/GUIs.
**Create mockup images to show for demo (2 days)
*More ITK Filters (1-? Weeks)
**Each filter takes about 1 day to incorporate into the workflow.
**Any automatically derived parameters from the volume or user generated will take extra coding.
3154
1228
2006-04-12T17:45:47Z
McKay Davis
5
wikitext
text/x-wiki
===Projects for Segmentaion Application===
<pre>The following is a brief list of projects and estimated times to completion for the
set of functionality that we would like to get done before the UCSD visit.
</pre>
* Load Sub-Volumes (1.5 Weeks)<br>Some sort of interface to load from a higher resolution ROI of the current volume<br>
** Design, Spec Interface (2 days)
** Coding of Interface (3 days)
** Coding of Sub-Volume Nrrd Loader (2 days)
* Linked Volumes (1.5 Weeks)<br>This is to allow operations (such as the above Load Sub-Volume) to affect multiple layers (volumes) concurrently. Another example would be cropping a volume, and all susequent derived segmentations are also cropped.
** Design, Spec Interface (2-3 days)<br>What tools/filter are affected? Are all operations valid for multiple layers or should we just support a very small subset?
** Coding (4 Days)<br>For demo purposes, only a few operations (Load sub-volume, resample, crop) need to be supported. This should be enough time...
*Save / Load Dialogs (3 days)<br>Save, load dialogs need to be available without the use of the network editor.<br>This may take code to internally change the state of the network to add connections to BundeSetNrrd and BundleGetNrrd
*Workflow / XML spec / Default Parameters Specification and Design (1 Week)<br>This is almost more of a general GUI layout discussion. How are we going to create customized GUI workflows for specific segmetation datasets? This week of time is just to discuss exactly what framework we will provide for that -- not actually generating and coding these workflows/GUIs.
**Create mockup images to show for demo (2 days)
*More ITK Filters (1-? Weeks)
**Each filter takes about 1 day to incorporate into the workflow.
**Any automatically derived parameters from the volume or user generated will take extra coding.
* Volume Rednering Improvements (1-? Weeks)<br>We need to evaluate exactly where volume rendering fits into the workflow and what steps to show via volume rendering.
**Pixel mask volume (4 days)<br>We need the ability to only render segmented portions of the volume. This can be done w/ an 8-bit volume of the same dimensions as the original.
**Low-Resolution while rotating (3 days)<br>Lower sampling rates while moving the volume are not sufficent for large 3D textures. We need to generate a sub-sampled version of large volumes that is rendered when the user changes the camera. This will greatly improve 3d navigation
**BioImage style 2D transfer function painting (2 days)<br>The Painter code does not currently have the original dual-domain transfer funciton painting. Re-incorporate the code.
**Multi-Resolution Volume Rendering (???)<br>Kurt has a multi-resolution volume renderer intermixed with our volume rendering code. With the above addition of higher resolution sub-volumes, this would be a great thing to also visualize correctly.
CIBC:Workshops:Workshop06
0
1021
1235
2006-04-16T16:01:06Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield]]
1237
1235
2006-04-16T16:19:09Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer]]
1241
1237
2006-04-16T17:10:52Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer]]
1243
1241
2006-04-16T17:15:18Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield]]
[[CIBC:Workshops:Workshop06:summ-weber|Daron Weber]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer]]
1244
1243
2006-04-16T17:19:17Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield]]
[[CIBC:Workshops:Workshop06:summ-weber|Daron Weber]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer]]
[[CIBC:Workshops:Workshop06:summ-kerckhoffs|Roy Kerckhoffs]]
CIBC:Workshops:Workshop06:summ-wolfer
0
1022
1236
2006-04-16T16:22:37Z
Macleod
3
wikitext
text/x-wiki
==Summary for James Wolfer==
===Affiliation ===
===Summary===
Well, this is a little embarrassing in the sense that I'm an utter
"newby" here -- I'm still learning vocabulary. I bumped into
your site searching for tools to handle volume images only days
before your workshop announcement and conjectured that attending
the workshop might be a good way to observe what others are
doing with it and jump-start evaluating its suitability and,
potentially, shorten the learning curve.
Specifically, I am interested in the Bioimage program (or so it
seems to me :-), and programming api's for volumetric display,
roi extraction, etc. We are considering a CT Angiography
project and the ability to easily write code to extract
subplanes with arbitrary orientation at specified locations
in the volume (with interpolation) ect. is important. It's
not clear to me that this suite of products exactly fits my needs,
but I felt that this is an opportunity to see.
At any rate, I installed Bioimage only a couple of days ago,
and have tried with some Dicom volume samples. I like what
I see, but ultimately it will be the api and flexibility for
interfacing with other programs that I need.
So, you should consider me as an observer and not try to do anything
specific for my case. I'm too new to the product, and the area,
for that to be an effective strategy, and it would unfairly
constrain other participants.
3156
1236
2006-04-16T16:23:25Z
Macleod
3
wikitext
text/x-wiki
==Summary for James Wolfer==
===Affiliation ===
James Wolfer, Ph.D. <br>
email: jwolfer@iusb.edu <br>
Associate Professor of Computer Science <br>
Indiana University South Bend <br>
===Summary===
Well, this is a little embarrassing in the sense that I'm an utter
"newby" here -- I'm still learning vocabulary. I bumped into
your site searching for tools to handle volume images only days
before your workshop announcement and conjectured that attending
the workshop might be a good way to observe what others are
doing with it and jump-start evaluating its suitability and,
potentially, shorten the learning curve.
Specifically, I am interested in the Bioimage program (or so it
seems to me :-), and programming api's for volumetric display,
roi extraction, etc. We are considering a CT Angiography
project and the ability to easily write code to extract
subplanes with arbitrary orientation at specified locations
in the volume (with interpolation) ect. is important. It's
not clear to me that this suite of products exactly fits my needs,
but I felt that this is an opportunity to see.
At any rate, I installed Bioimage only a couple of days ago,
and have tried with some Dicom volume samples. I like what
I see, but ultimately it will be the api and flexibility for
interfacing with other programs that I need.
So, you should consider me as an observer and not try to do anything
specific for my case. I'm too new to the product, and the area,
for that to be an effective strategy, and it would unfairly
constrain other participants.
CIBC:Workshops:Workshop06:summ-warfield
0
1023
3157
2006-04-16T16:28:16Z
Macleod
3
wikitext
text/x-wiki
==Summary for Simon Warfield==
===Affiliation ===
Computational Radiology Laboratory <br>
Department of Radiology <br>
Brigham and Women's Hospital <br>
=== Summary ===
<p> I am interested in the following:
* image segmentation
* image registration
* bioelectromagnetic field modeling
* epilepsy
* image guided surgery
* newborn MRI
* non-standard MR imaging and reconstruction
CIBC:Workshops:Workshop06:summ-sharp
0
1024
1238
2006-04-16T17:11:19Z
Macleod
3
wikitext
text/x-wiki
Here are my interests as you requested.
Research interests:
- Image-guided radiotherapy
- Medical imaging
- Computer vision & pattern recognition
Stuff I'd like to see at the workshop:
- Interactive geometry tools (e.g. defining points, curves, surfaces)
- Simultaneous viewing of multiple volumetric data sets
Greg
--
Gregory C. Sharp
Dept. of Radiation Oncology
Massachusetts General Hospital
gcsharp@partners.org / 617-724-3866
http://gray.mgh.harvard.edu
1239
1238
2006-04-16T17:12:32Z
Macleod
3
wikitext
text/x-wiki
==Summary for Simon Warfield==
===Affiliation ===
Gregory C. Sharp
Dept. of Radiation Oncology
Massachusetts General Hospital
gcsharp@partners.org / 617-724-3866
http://gray.mgh.harvard.edu
=== Summary ===
Here are my interests as you requested.<br>
Research interests:
*- Image-guided radiotherapy
- Medical imaging
- Computer vision & pattern recognition
Stuff I'd like to see at the workshop:
- Interactive geometry tools (e.g. defining points, curves, surfaces)
- Simultaneous viewing of multiple volumetric data sets
1240
1239
2006-04-16T17:13:05Z
Macleod
3
wikitext
text/x-wiki
==Summary for Simon Warfield==
===Affiliation ===
Gregory C. Sharp
Dept. of Radiation Oncology
Massachusetts General Hospital
gcsharp@partners.org / 617-724-3866
http://gray.mgh.harvard.edu
=== Summary ===
Here are my interests as you requested.<br>
* Research interests:
** Image-guided radiotherapy
** Medical imaging
** Computer vision & pattern recognition
* Stuff I'd like to see at the workshop:
** Interactive geometry tools (e.g. defining points, curves, surfaces)
** Simultaneous viewing of multiple volumetric data sets
1245
1240
2006-04-16T17:13:41Z
Macleod
3
wikitext
text/x-wiki
==Summary for Simon Warfield==
===Affiliation ===
Gregory C. Sharp <br>
Dept. of Radiation Oncology <br>
Massachusetts General Hospital <br>
gcsharp@partners.org / 617-724-3866 <br>
http://gray.mgh.harvard.edu
=== Summary ===
Here are my interests as you requested.<br>
* Research interests:
** Image-guided radiotherapy
** Medical imaging
** Computer vision & pattern recognition
* Stuff I'd like to see at the workshop:
** Interactive geometry tools (e.g. defining points, curves, surfaces)
** Simultaneous viewing of multiple volumetric data sets
CIBC:Workshops:Workshop06:summ-weber
0
1025
3159
2006-04-16T17:16:44Z
Macleod
3
wikitext
text/x-wiki
==Summary for Darren Weber ==
===Affiliation ===
Darren L. Weber, Ph.D.
Postdoctoral Scholar
Dynamic Neuroimaging Laboratory, <br>
UCSF Department of Radiology, <br>
185 Berry Street, Suite 350, Box 0946, <br>
San Francisco, CA 94107, USA. <br>
Tel: +1 415 353-9444 <br>
Fax: +1 415 353-9421 <br>
www: http://dnl.ucsf.edu/users/dweber
=== Summary ===
I currently hold a postdoctoral position at UCSF. We are working with a CTF EEG/MEG system that can acquire 275 channels of MEG (radial gradiometers) and 128 channels of EEG. The signal processing demands of this data are significant. We struggle to process this data in common matlab packages, such as EEGLAB, at high temporal resolution, simply due to memory limitations. I would like to run ICA and time-frequency analyses on these data, using c/c++ tools that will compile for linux and sun systems. In addition, I have been working on integration of these data with anatomical models derived from high resolution MRI, following the work of Dale & Sereno (1993) for distributed electromagnetic source estimation. These integration approaches are computationally intensive. Using the freesurfer package from the MGH, it can take several days to process an anatomical dataset simply to extract a detailed model of the cortical surface. For boundary element modeling (BEM) of source activity on the coritical surface, we also require good anatomical models of the skull and scalp surfaces (for EEG). There are some efforts to obtain these surfaces (eg, the FSL BET2 program). The calculation of the MEG/EEG forward solution (ie, calculating sensor data for any given source configuration) is very intensive for BEM and we could benefit from solid routines to generate these data (I am currently using the BrainStorm toolbox for matlab). In addition, the visualization of cortical temporal-spatial dynamics is challenging, because details of visualization are not trivial. The cortical surface is convoluted, so it is often inflated slightly to provide views of the sulcal areas. More importantly, the choice of scale, thresholds and coloring of cortical activity is very important. It is too easy to distort valuable data with poor visualizations. Finally, the results of brain source estimation need to be evaluated for statistical effects, within and across subjects. In this regard, tools to implement the permutation exact tests of Blair & Karnisky (1993 and related papers) would be valuable. I would like to learn more about how the Utah developments have solved these problems and this workshop should provide a short intensive program that can introduce me to the packages provided. I did not get to a previous workshop a few years ago.
CIBC:Workshops:Workshop06:summ-kerckhoffs
0
1026
3160
2006-04-16T17:20:21Z
Macleod
3
wikitext
text/x-wiki
==Summary for Roy Kerckhoffs==
===Affiliation ===
Roy Kerckhoffs, PhD <br>
University of California, San Diego <br>
Department of Bioengineering <br>
Room 243 Powell-Focht Bioengineering Hall <br>
9500 Gilman Drive <br>
La Jolla, Ca 92093-0412 <br>
phone: (858) 822-4872 <br>
fax: (858) 534-5722 <br>
===Summary===
Here at UCSD in Andrew McCulloch's cardiac mechanics research group, we're developing computational models of cardiac electromechanics, at levels going from cell to whole heart. The latter is coupled to the circulation (system level).
That means we're integrating cellular ionic models (for electrophysiology) and myofilament activation models (for mechanics) into our finite element models. These models are used to test hypotheses, provide assistance to setting up experiments, and the final goal will be patient-specific modeling. In the latter, a computational model will be made of a patient, and the effects of all kinds of interventions (pacing, for example) could be investigated to optimize treatment.
CIBC:Workshops:Workshop06
0
1021
1246
1244
2006-04-16T17:21:46Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-kerckhoffs|Roy Kerckhoffs]]
[[CIBC:Workshops:Workshop06:summ-sharp|Dan Schindler]]
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield]]
[[CIBC:Workshops:Workshop06:summ-weber|Daron Weber]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer]]
1247
1246
2006-04-16T17:23:01Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-kerckhoffs|Roy Kerckhoffs]]
[[CIBC:Workshops:Workshop06:summ-schindler|Dan Schindler]]
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield]]
[[CIBC:Workshops:Workshop06:summ-weber|Daron Weber]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer]]
1248
1247
2006-04-16T18:06:03Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-bahadur|Ali Bahadur (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-blackman|Barron Blackman (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-butson|Chris Butson (Cleveland Clinic)]]
[[CIBC:Workshops:Workshop06:summ-dalal|Sarang Dalal (UCSF) ]]
[[CIBC:Workshops:Workshop06:summ-jones|Bryan Jones (UofU)]]
[[CIBC:Workshops:Workshop06:summ-kerckhoffs|Roy Kerckhoffs]]
[[CIBC:Workshops:Workshop06:summ-kim|Sohee Kim (UofU)]]
[[CIBC:Workshops:Workshop06:summ-makeig|Scott Makeig (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-marc|Robert Marc (UofU)]]
[[CIBC:Workshops:Workshop06:summ-moreno|Alonso Moreno (UofU)]]
[[CIBC:Workshops:Workshop06:summ-nevell|Lisa Nevell (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-ramirez|Rey Ramirez (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-schindler|Dan Schindler (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp (partners.org)]]
[[CIBC:Workshops:Workshop06:summ-shi|Wendy Shi (UofU)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-vasquez|Sergio Vasquez (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield (Harvard)]]
[[CIBC:Workshops:Workshop06:summ-weber|Daron Weber]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer (IUSB)]]
[[CIBC:Workshops:Workshop06:summ-wolfgang|John Wolfgang (partners.org)]]
[[CIBC:Workshops:Workshop06:summ-zafiris|Vasilis Zafiris (UHD Houston)]]
1250
1248
2006-04-16T18:13:05Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-bahadur|Ali Bahadur (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-blackman|Barron Blackman (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-butson|Chris Butson (Cleveland Clinic)]]
[[CIBC:Workshops:Workshop06:summ-dalal|Sarang Dalal (UCSF) ]]
[[CIBC:Workshops:Workshop06:summ-hyde|Damon Hyde (NEU)]]
[[CIBC:Workshops:Workshop06:summ-jones|Bryan Jones (UofU)]]
[[CIBC:Workshops:Workshop06:summ-kerckhoffs|Roy Kerckhoffs* (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-kim|Sohee Kim (UofU)]]
[[CIBC:Workshops:Workshop06:summ-makeig|Scott Makeig (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-marc|Robert Marc (UofU)]]
[[CIBC:Workshops:Workshop06:summ-moreno|Alonso Moreno (UofU)]]
[[CIBC:Workshops:Workshop06:summ-nevell|Lisa Nevell (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-ramirez|Rey Ramirez (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-schindler|Dan Schindler* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp* (MGH)]]
[[CIBC:Workshops:Workshop06:summ-shi|Wendy Shi (UofU)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-vasquez|Sergio Vasquez (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield* (Harvard)]]
[[CIBC:Workshops:Workshop06:summ-weber|Darren Weber* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer* (IUSB, Indiana U)]]
[[CIBC:Workshops:Workshop06:summ-wolfgang|John Wolfgang (MGH)]]
[[CIBC:Workshops:Workshop06:summ-zafiris|Vasilis Zafiris (UHD Houston)]]
1252
1250
2006-04-16T18:16:01Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-bahadur|Ali Bahadur (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-blackman|Barron Blackman (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-butson|Chris Butson (Cleveland Clinic)]]
[[CIBC:Workshops:Workshop06:summ-boverman|Greg Boverman (NEU)]]
[[CIBC:Workshops:Workshop06:summ-dalal|Sarang Dalal (UCSF) ]]
[[CIBC:Workshops:Workshop06:summ-hyde|Damon Hyde* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-jones|Bryan Jones (UofU)]]
[[CIBC:Workshops:Workshop06:summ-kerckhoffs|Roy Kerckhoffs* (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-kim|Sohee Kim (UofU)]]
[[CIBC:Workshops:Workshop06:summ-makeig|Scott Makeig (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-marc|Robert Marc (UofU)]]
[[CIBC:Workshops:Workshop06:summ-moreno|Alonso Moreno (UofU)]]
[[CIBC:Workshops:Workshop06:summ-nevell|Lisa Nevell (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-ramirez|Rey Ramirez (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-schindler|Dan Schindler* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp* (MGH)]]
[[CIBC:Workshops:Workshop06:summ-shi|Wendy Shi (UofU)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-vasquez|Sergio Vasquez (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield* (Harvard)]]
[[CIBC:Workshops:Workshop06:summ-weber|Darren Weber* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer* (IUSB, Indiana U)]]
[[CIBC:Workshops:Workshop06:summ-wolfgang|John Wolfgang (MGH)]]
[[CIBC:Workshops:Workshop06:summ-zafiris|Vasilis Zafiris (UHD Houston)]]
1254
1252
2006-04-16T18:18:06Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-bahadur|Ali Bahadur (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-blackman|Barron Blackman (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-butson|Chris Butson (Cleveland Clinic)]]
[[CIBC:Workshops:Workshop06:summ-boverman|Greg Boverman* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-dalal|Sarang Dalal (UCSF) ]]
[[CIBC:Workshops:Workshop06:summ-hyde|Damon Hyde* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-jones|Bryan Jones (UofU)]]
[[CIBC:Workshops:Workshop06:summ-kerckhoffs|Roy Kerckhoffs* (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-kim|Sohee Kim (UofU)]]
[[CIBC:Workshops:Workshop06:summ-makeig|Scott Makeig (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-marc|Robert Marc (UofU)]]
[[CIBC:Workshops:Workshop06:summ-moreno|Alonso Moreno (UofU)]]
[[CIBC:Workshops:Workshop06:summ-nevell|Lisa Nevell (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-ramirez|Rey Ramirez (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-schindler|Dan Schindler* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-svendsen|Mark Svendsen* (IUPUI)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp* (MGH)]]
[[CIBC:Workshops:Workshop06:summ-shi|Wendy Shi (UofU)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-vasquez|Sergio Vasquez (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield* (Harvard)]]
[[CIBC:Workshops:Workshop06:summ-weber|Darren Weber* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer* (IUSB, Indiana U)]]
[[CIBC:Workshops:Workshop06:summ-wolfgang|John Wolfgang (MGH)]]
[[CIBC:Workshops:Workshop06:summ-zafiris|Vasilis Zafiris (UHD Houston)]]
1255
1254
2006-04-16T18:20:30Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-bahadur|Ali Bahadur (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-blackman|Barron Blackman (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-butson|Chris Butson (Cleveland Clinic)]]
[[CIBC:Workshops:Workshop06:summ-boverman|Greg Boverman* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-dalal|Sarang Dalal* (UCSF) ]]
[[CIBC:Workshops:Workshop06:summ-hyde|Damon Hyde* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-jones|Bryan Jones (UofU)]]
[[CIBC:Workshops:Workshop06:summ-kerckhoffs|Roy Kerckhoffs* (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-kim|Sohee Kim (UofU)]]
[[CIBC:Workshops:Workshop06:summ-makeig|Scott Makeig (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-marc|Robert Marc (UofU)]]
[[CIBC:Workshops:Workshop06:summ-moreno|Alonso Moreno (UofU)]]
[[CIBC:Workshops:Workshop06:summ-nevell|Lisa Nevell (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-ramirez|Rey Ramirez (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-schindler|Dan Schindler* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp* (MGH)]]
[[CIBC:Workshops:Workshop06:summ-shi|Wendy Shi (UofU)]]
[[CIBC:Workshops:Workshop06:summ-svendsen|Mark Svendsen* (IUPUI)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-vasquez|Sergio Vasquez (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield* (Harvard)]]
[[CIBC:Workshops:Workshop06:summ-weber|Darren Weber* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer* (IUSB, Indiana U)]]
[[CIBC:Workshops:Workshop06:summ-wolfgang|John Wolfgang (MGH)]]
[[CIBC:Workshops:Workshop06:summ-zafiris|Vasilis Zafiris (UHD Houston)]]
1256
1255
2006-04-18T18:51:47Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-bahadur|Ali Bahadur (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-blackman|Barron Blackman (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-butson|Chris Butson* (Cleveland Clinic)]]
[[CIBC:Workshops:Workshop06:summ-boverman|Greg Boverman* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-dalal|Sarang Dalal* (UCSF) ]]
[[CIBC:Workshops:Workshop06:summ-hyde|Damon Hyde* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-jones|Bryan Jones (UofU)]]
[[CIBC:Workshops:Workshop06:summ-kerckhoffs|Roy Kerckhoffs* (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-kim|Sohee Kim (UofU)]]
[[CIBC:Workshops:Workshop06:summ-makeig|Scott Makeig (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-marc|Robert Marc (UofU)]]
[[CIBC:Workshops:Workshop06:summ-moreno|Alonso Moreno (UofU)]]
[[CIBC:Workshops:Workshop06:summ-nevell|Lisa Nevell (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-ramirez|Rey Ramirez (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-schindler|Dan Schindler* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp* (MGH)]]
[[CIBC:Workshops:Workshop06:summ-shi|Wendy Shi (UofU)]]
[[CIBC:Workshops:Workshop06:summ-svendsen|Mark Svendsen* (IUPUI)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-vasquez|Sergio Vasquez (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield* (Harvard)]]
[[CIBC:Workshops:Workshop06:summ-weber|Darren Weber* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer* (IUSB, Indiana U)]]
[[CIBC:Workshops:Workshop06:summ-wolfgang|John Wolfgang (MGH)]]
[[CIBC:Workshops:Workshop06:summ-zafiris|Vasilis Zafiris (UHD Houston)]]
3155
1256
2006-04-23T18:30:44Z
Macleod
3
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
Contact list [[Workshop06-attendees.pdf]]
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-bahadur|Ali Bahadur (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-blackman|Barron Blackman (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-butson|Chris Butson* (Cleveland Clinic)]]
[[CIBC:Workshops:Workshop06:summ-boverman|Greg Boverman* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-dalal|Sarang Dalal* (UCSF) ]]
[[CIBC:Workshops:Workshop06:summ-hyde|Damon Hyde* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-jones|Bryan Jones (UofU)]]
[[CIBC:Workshops:Workshop06:summ-kerckhoffs|Roy Kerckhoffs* (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-kim|Sohee Kim (UofU)]]
[[CIBC:Workshops:Workshop06:summ-makeig|Scott Makeig (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-marc|Robert Marc (UofU)]]
[[CIBC:Workshops:Workshop06:summ-moreno|Alonso Moreno (UofU)]]
[[CIBC:Workshops:Workshop06:summ-nevell|Lisa Nevell (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-ramirez|Rey Ramirez (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-schindler|Dan Schindler* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp* (MGH)]]
[[CIBC:Workshops:Workshop06:summ-shi|Wendy Shi (UofU)]]
[[CIBC:Workshops:Workshop06:summ-svendsen|Mark Svendsen* (IUPUI)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-vasquez|Sergio Vasquez (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield* (Harvard)]]
[[CIBC:Workshops:Workshop06:summ-weber|Darren Weber* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer* (IUSB, Indiana U)]]
[[CIBC:Workshops:Workshop06:summ-wolfgang|John Wolfgang (MGH)]]
[[CIBC:Workshops:Workshop06:summ-zafiris|Vasilis Zafiris (UHD Houston)]]
CIBC:Workshops:Workshop06:summ-sharp
0
1024
3158
1245
2006-04-16T17:22:25Z
Macleod
3
wikitext
text/x-wiki
==Summary for Greg Sharp==
===Affiliation ===
Gregory C. Sharp <br>
Dept. of Radiation Oncology <br>
Massachusetts General Hospital <br>
gcsharp@partners.org / 617-724-3866 <br>
http://gray.mgh.harvard.edu
=== Summary ===
Here are my interests as you requested.<br>
* Research interests:
** Image-guided radiotherapy
** Medical imaging
** Computer vision & pattern recognition
* Stuff I'd like to see at the workshop:
** Interactive geometry tools (e.g. defining points, curves, surfaces)
** Simultaneous viewing of multiple volumetric data sets
CIBC:Workshops:Workshop06:summ-schindler
0
1027
3161
2006-04-16T17:24:10Z
Macleod
3
wikitext
text/x-wiki
==Summary for Dan Schindler==
===Affiliation ===
Dan Schindler, RN, MS, CLS <br>
Coordinator, ECG Monitoring Research Laboratory <br>
University of California, San Francisco <br>
2 Koret Way, Box N610 <br>
San Francisco, CA 94143-0610 <br>
Email: dan.schindler@nursing.ucsf.edu <br>
Phone: (415) 514-3694 <br>
Fax: (415) 476-8899 <br>
=== Summary ===
My doctoral dissertation will involve the comparison (sensitivity/specificity) of standard 12-lead with optimized lead set 24-hour Holter recordings obtained from N=1308 chest pain patients seen at UCSF emergency dept. The 8-channel optimized data is transformed to estimated 192-lead body surface potential maps (Lux xforms). To facilitate comparison of optimized 192-lead BSPM with standard, I propose we also transform 8-channel standard data in a manner similar to that performed on optimized lead set data, allowing comparison on same spatio-temporal scale. By use of subtraction maps(Map3D), and other metrics, be able to demonstrate the difference of the two methods in detecting ischemia (locating average ST potential distribution extrema)--ultimately to answer the question if optimized/estimated 192-lead BSPM is better that standard 12-lead for detecting myocardial ischemia?
CIBC:Workshops:Workshop06:summ-hyde
0
1028
1249
2006-04-16T18:14:24Z
Macleod
3
wikitext
text/x-wiki
==Summary for Damon Hyde==
===Affiliation ===
Damon Hyde <br>
Electrical and Computer Engineering Department <br>
Northeastern University <br>
and <br>
Center for Molecular Imaging Research <br>
Massachusetts General Hospital
<p>
===Summary===
Computing plays a vital role in my work on fluorescence molecular
tomography (FMT) under Vasilis Ntziachristos at Massachusetts General
Hospital. We are rapidly approaching the point where the size of
the data sets we collect is limited only by our ability to process and
utilize them. Our work has become increasingly collaborative, as we draw
upon the knowledge of experts in computational efficency, image
analysis/segmentation, and other fields in order to improve and accelerate
our tomographic methods.
Additionally, as we progress to more complex data sets, and begin to
pursue multi-modality imaging systems, our need for efficient algorithmic
methods will only increase. In our move to multi-modality imaging, we are
increasingly in need of computational methods which group such as CIBC
have put significant work into researching.
The CIBC software of greatest interest to us is the BioImage
package. In order to integrate the information from CT/MRI scans into our
tomographic system, we first need methods by which to extract the relevant
information. This necessitates the use of visualization and segmentation
tools, some of which are being developed at CIBC. Knowledge on the usage
of such tools would greatly increase our ability to rapidly develop new
techniques for multi-modality imaging, enabling greater image quality and
increased utility for those scientists reliant upon our systems.
3162
1249
2006-04-16T18:14:58Z
Macleod
3
wikitext
text/x-wiki
==Summary for Damon Hyde==
===Affiliation ===
Damon Hyde <br>
Electrical and Computer Engineering Department <br>
Northeastern University <br>
and <br>
Center for Molecular Imaging Research <br>
Massachusetts General Hospital
<p>
===Summary===
Computing plays a vital role in my work on fluorescence molecular
tomography (FMT) under Vasilis Ntziachristos at Massachusetts General
Hospital. We are rapidly approaching the point where the size of
the data sets we collect is limited only by our ability to process and
utilize them. Our work has become increasingly collaborative, as we draw
upon the knowledge of experts in computational efficency, image
analysis/segmentation, and other fields in order to improve and accelerate
our tomographic methods.
Additionally, as we progress to more complex data sets, and begin to
pursue multi-modality imaging systems, our need for efficient algorithmic
methods will only increase. In our move to multi-modality imaging, we are
increasingly in need of computational methods which group such as CIBC
have put significant work into researching.
The CIBC software of greatest interest to us is the BioImage
package. In order to integrate the information from CT/MRI scans into our
tomographic system, we first need methods by which to extract the relevant
information. This necessitates the use of visualization and segmentation
tools, some of which are being developed at CIBC. Knowledge on the usage
of such tools would greatly increase our ability to rapidly develop new
techniques for multi-modality imaging, enabling greater image quality and
increased utility for those scientists reliant upon our systems.
CIBC:Workshops:Workshop06:summ-boverman
0
1029
1251
2006-04-16T18:16:48Z
Macleod
3
wikitext
text/x-wiki
==Summary for greg Boverman==
===Affiliation ===
Greg Boverman <br>
gboverma@ece.neu.edu <br>
(617) 983-3453 <br>
=== Summary ===
I am currently a Ph.D. student in electrical engineering at Northeastern University,
researching computational modeling and data inversion for Diffuse Optical Tomography. In
the near future, I will be joining Rensselaer as a post-doctoral researcher, working with
David Isaacson, who is, I believe, associated with CIBC. At Northeastern, my primary
thesis advisor is Prof. Eric Miller, and I also work closely with Prof. Dana Brooks, who
is also involved with SCI. I would be very interested in participating in the CIBC
workshop this year, and, if possible, I would like to apply for the scholarship, which I
would need in order to be able to attend. To date, I have relied for my computational
modeling on software which I have developed myself, and on Matlab for visualization, but I
would like to learn more about the tools that your center has developed, and perhaps how I
can contribute as a user and/or developer.
3163
1251
2006-04-16T18:17:00Z
Macleod
3
wikitext
text/x-wiki
==Summary for Greg Boverman==
===Affiliation ===
Greg Boverman <br>
gboverma@ece.neu.edu <br>
(617) 983-3453 <br>
=== Summary ===
I am currently a Ph.D. student in electrical engineering at Northeastern University,
researching computational modeling and data inversion for Diffuse Optical Tomography. In
the near future, I will be joining Rensselaer as a post-doctoral researcher, working with
David Isaacson, who is, I believe, associated with CIBC. At Northeastern, my primary
thesis advisor is Prof. Eric Miller, and I also work closely with Prof. Dana Brooks, who
is also involved with SCI. I would be very interested in participating in the CIBC
workshop this year, and, if possible, I would like to apply for the scholarship, which I
would need in order to be able to attend. To date, I have relied for my computational
modeling on software which I have developed myself, and on Matlab for visualization, but I
would like to learn more about the tools that your center has developed, and perhaps how I
can contribute as a user and/or developer.
CIBC:Workshops:Workshop06:summ-svendsen
0
1030
1253
2006-04-16T18:19:16Z
Macleod
3
wikitext
text/x-wiki
==Summary for Mark Svendsen ==
===Affiliation ===
Mark Svendsen <br>
Master’s Research Assistant IUPUI <br>
723 West Michigan Street SL 163 <br>
Indianapolis, Indiana 46202
===Summary===
The goal of our computational research is to use the finite element model of the
heart and torso developed by SCI to solve the forward problem of electrocardiography.
The ultimate goal of the research is to develop three-dimensional isochronal activation
surfaces and to use them to produce normal ECG waveforms. After the normal ECG
model is developed, it is our goal to place small perturbations due to ischemic heart
regions in the model and observe if there are any changes in the ECG.
The nature of our research is heavily dependent on the computational capabilities
of the FE model. The FE model allows us to observe the changes in the body surface
potentials and the ECG for normal and abnormal cardiac activation patterns. Thus, it is
critical that we have a computational model that accurately describes the electrical
conduction in the torso. The visualization of this model helps us understand where the
cardiac activation is occurring and in what direction it is traveling. Eventually this
research could be influential in the detection of subtle cardiac conditions.
A scholarship to the CIBC conference will allow me to obtain a better
understanding of how to improve our modeling techniques for the three dimensional
isochronal surfaces. In addition, this conference would give me the opportunity to gain a better understanding of the current methods for modeling/simulation and the future of this area.
3165
1253
2006-04-16T18:19:29Z
Macleod
3
wikitext
text/x-wiki
==Summary for Mark Svendsen ==
===Affiliation ===
Mark Svendsen <br>
Master’s Research Assistant IUPUI <br>
723 West Michigan Street SL 163 <br>
Indianapolis, Indiana 46202
===Summary===
The goal of our computational research is to use the finite element model of the
heart and torso developed by SCI to solve the forward problem of electrocardiography.
The ultimate goal of the research is to develop three-dimensional isochronal activation
surfaces and to use them to produce normal ECG waveforms. After the normal ECG
model is developed, it is our goal to place small perturbations due to ischemic heart
regions in the model and observe if there are any changes in the ECG.
The nature of our research is heavily dependent on the computational capabilities
of the FE model. The FE model allows us to observe the changes in the body surface
potentials and the ECG for normal and abnormal cardiac activation patterns. Thus, it is
critical that we have a computational model that accurately describes the electrical
conduction in the torso. The visualization of this model helps us understand where the
cardiac activation is occurring and in what direction it is traveling. Eventually this
research could be influential in the detection of subtle cardiac conditions.
A scholarship to the CIBC conference will allow me to obtain a better
understanding of how to improve our modeling techniques for the three dimensional
isochronal surfaces. In addition, this conference would give me the opportunity to gain a better understanding of the current methods for modeling/simulation and the future of this area.
CIBC:Workshops:Workshop06:summ-dalal
0
1031
3164
2006-04-16T18:21:47Z
Macleod
3
wikitext
text/x-wiki
==Summary for Simon Warfield==
===Affiliation ===
Sarang S. Dalal: <sarang@hurricane.ucsf.edu>
===Summary===
I am a PhD candidate with the UCSF/UC Berkeley program in Bioengineering. My research
involves developing source reconstructions for magnetoencephalography (MEG -- a
noninvasive magnetic brainwave technique) and validating our results with
electrocorticography (direct brain recordings from neurosurgery patients). I am the lead
developer of NUTMEG, a software toolbox designed to aid in this type of research. (See
http://bil.ucsf.edu/nutmeg.html )
One significant limitation to localizing events in the brain with MEG and EEG involves
having a robust head model, i.e., an accurate way to estimate the voltages and magnetic
fields that would be detected at points on the scalp due to current sources at given
points within the brain. Currently, the most common technique involves fitting one or
several homogeneous spheres to the scalp surface; however, these models are not adequate
as real human heads are not spherical and the tissues within it have complex conductivity
profiles. SCIRun and BioFEM implement finite element modeling techniques based on
structural MRIs in order to generate an advanced head model based on individual anatomy.
Such a head model may be key to more accurately localizing brain activity, or indeed
localizing deeper and weaker sources at all.
My goal in attending the workshop is to become comfortable with SCIRun and learn how to
generate these head models for use in my research. I currently do not have the funding to
attend the workshop otherwise.
CIBC:Workshops:Workshop06:summ-butson
0
1032
3166
2006-04-18T18:51:24Z
Macleod
3
wikitext
text/x-wiki
==Summary for Chris Butson==
===Affiliation ===
Cleveland Clinic
Email: butson@sci.utah.edu
===Summary===
* Bioelectric field modeling: We are currently using BioPSE to simulate deep brain and cortical stimulation with a variety of electrode types.
* Time-dependent simulations: I have written a custom solver in Matlab that solves the Poisson equation in time and space simultaneously. This solver is being used in place of the quasistatic solver in SCIRun. We will have continuing needs to solve for and view time-dependent data.
*Medical visualization: We use BioPSE, Teem and ITK to visualize and manipulate a variety of datasets (MR, CT, DTI).
*The largest task so far has been integrating these three areas into one coherent framework.
File:Workshop06-attendees.pdf
6
1033
3167
2006-04-23T18:29:15Z
Macleod
3
wikitext
text/x-wiki
CIBC:Dev:Main
0
1017
1258
1257
2006-04-26T20:25:42Z
Jeroen
19
/* Developers */
wikitext
text/x-wiki
== Developers ==
McKay Davis
#[[CIBC:Dev:Painter | Painter module]]
Michael Callahan
#[[CIBC:Dev:InsertField | InsertField module]]
#[[CIBC:Dev:MeshSmoother| Mesh smoother (MESQUITE)]]
Darby Van Uitert
#[[CIBC:Dev:PowerAppUpdates | Fix PowerApps]]
Marty Cole
#[[CIBC:Dev:TetGen | TetGen mesh generator]]
Dav de St. Germain
#[[CIBC:Dev:ThirdParty1.25.3 | ThirdParty 1.25.3]]
== High Priority Bugs / Projects ==
#[[CIBC:Dev:SlowFieldRender | Slow first rendering (just Mac?)]]
#[[CIBC:Dev:SavingAndReloadingNets | Saving and reloading nets]]
#[[CIBC:Dev:AutomaticResizingGUI| Guis do not resize automatically and a too large GUI window causes problems]]
#[[CIBC:Dev:SlowSetupFEMatrix | SetupFEMatrix is 4x slower than it used to be]]
== Recently Completed Bugs / Projects ==
#[[CIBC:Dev:Teem1.9 | Update SCIRun to work with Teem 1.9 -- Darby -- completed 4/4/06]]
1295
1258
2006-04-26T20:50:21Z
Jeroen
19
wikitext
text/x-wiki
== Developers ==
McKay Davis
#[[CIBC:Dev:Painter | Painter module]]
Michael Callahan
#[[CIBC:Dev:InsertField | InsertField module]]
#[[CIBC:Dev:MeshSmoother| Mesh smoother (MESQUITE)]]
Darby Van Uitert
Marty Cole
#[[CIBC:Dev:TetGen | TetGen mesh generator]]
#[[CIBC:Dev:FixOrdering| Fix ordering in meshes]]
Dav de St. Germain
#[[CIBC:Dev:ThirdParty1.25.3 | ThirdParty 1.25.3]]
== High Priority Bugs / Projects ==
#[[CIBC:Dev:SlowFieldRender | Slow first rendering (just Mac?)]]
#[[CIBC:Dev:SavingAndReloadingNets | Saving and reloading nets]]
#[[CIBC:Dev:AutomaticResizingGUI| Guis do not resize automatically and a too large GUI window causes problems]]
#[[CIBC:Dev:SlowSetupFEMatrix | SetupFEMatrix is 4x slower than it used to be]]
#[[ | ]]
== Recently Completed Bugs / Projects ==
#[[CIBC:Dev:Teem1.9 | Update SCIRun to work with Teem 1.9 -- Darby -- completed 4/4/06]]
#[[CIBC:Dev:PowerAppUpdates | Fix PowerApps]]
CIBC:Project:Triedman
0
1008
1260
1259
2006-04-28T15:53:30Z
Matthew.jolley@tch.harvard.edu
23
/* Progress */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
We welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts are underway to utilize existing level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shepherd as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1261
1260
2006-04-28T15:57:25Z
Matthew.jolley@tch.harvard.edu
23
/* Meshing */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
We welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts are underway to utilize existing level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shepherd as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
Tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. MESQUITE is being integrated to allow variable density meshing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a great set of tools and may be integrated into a powerapp type tool that takes models from NRRDs to SCIRun meshes.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1262
1261
2006-04-28T15:59:47Z
Matthew.jolley@tch.harvard.edu
23
/* Segmentation */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
We welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts are underway to utilize existing level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
McKay Davis and Josh Cates at SPL are also creating a segmentation powerapp which was demoed at the CIBC conference in May. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shepherd as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
Tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. MESQUITE is being integrated to allow variable density meshing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a great set of tools and may be integrated into a powerapp type tool that takes models from NRRDs to SCIRun meshes.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1263
1262
2006-04-28T16:00:48Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
We welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts are underway to utilize existing level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
McKay Davis and Josh Cates at SPL are also creating a segmentation powerapp which was demoed at the CIBC conference in May. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shepherd as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
Tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. MESQUITE is being integrated to allow variable density meshing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a great set of tools and may be integrated into a powerapp type tool that takes models from NRRDs to SCIRun meshes.
== Electrode Insertion/Adaptive Remeshing ==
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1264
1263
2006-04-28T16:02:19Z
Matthew.jolley@tch.harvard.edu
23
/* Electrode Insertion/Adaptive Remeshing */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
We welcome the help of Dr. Westin's group at SPL, as well as the continued support of Dr. Pieper and Dr. Kindlmann. Efforts are underway to utilize existing level set and EM segmentation techniques developed for the brain for the task of torso segmentation.
McKay Davis and Josh Cates at SPL are also creating a segmentation powerapp which was demoed at the CIBC conference in May. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shepherd as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
Tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. MESQUITE is being integrated to allow variable density meshing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a great set of tools and may be integrated into a powerapp type tool that takes models from NRRDs to SCIRun meshes.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently undstable with devleopement detailed here:
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1265
1264
2006-04-28T17:24:55Z
Matthew.jolley@tch.harvard.edu
23
/* Segmentation */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Initial segmentations will be semi-manual using 3D Slicer.
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SPL are also creating a segmentation powerapp which was demoed at the CIBC conference in May. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shepherd as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
Tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. MESQUITE is being integrated to allow variable density meshing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a great set of tools and may be integrated into a powerapp type tool that takes models from NRRDs to SCIRun meshes.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently undstable with devleopement detailed here:
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1266
1265
2006-04-28T17:25:45Z
Matthew.jolley@tch.harvard.edu
23
/* Segmentation */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SPL are also creating a segmentation powerapp which was demoed at the CIBC conference in May. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
== Meshing ==
Improved meshing tools are being developed by Jeroen Stinstra and Jason Shepherd as part of the much larger project to improve SCIRun's meshing capabilities in the short term.
Tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. MESQUITE is being integrated to allow variable density meshing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a great set of tools and may be integrated into a powerapp type tool that takes models from NRRDs to SCIRun meshes.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently undstable with devleopement detailed here:
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1267
1266
2006-04-28T17:27:35Z
Matthew.jolley@tch.harvard.edu
23
/* Meshing */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SPL are also creating a segmentation powerapp which was demoed at the CIBC conference in May. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
== Meshing ==
Currently using voxel based mesh created in SCIRun.
As detailed at the CIBC workshop, Tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools and may be integrated into a powerapp type tool that takes models from NRRDs to SCIRun meshes.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently undstable with devleopement detailed here:
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1268
1267
2006-04-28T17:29:55Z
Matthew.jolley@tch.harvard.edu
23
/* Electrode Insertion/Adaptive Remeshing */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SPL are also creating a segmentation powerapp which was demoed at the CIBC conference in May. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
== Meshing ==
Currently using voxel based mesh created in SCIRun.
As detailed at the CIBC workshop, Tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools and may be integrated into a powerapp type tool that takes models from NRRDs to SCIRun meshes.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1269
1268
2006-04-28T17:30:59Z
Matthew.jolley@tch.harvard.edu
23
/* Meshing */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SPL are also creating a segmentation powerapp which was demoed at the CIBC conference in May. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
== Meshing ==
Currently using voxel based mesh created in SCIRun.
As detailed at the CIBC workshop, Tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1270
1269
2006-04-28T17:31:19Z
Matthew.jolley@tch.harvard.edu
23
/* Meshing */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SPL are also creating a segmentation powerapp which was demoed at the CIBC conference in May. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
== Meshing ==
Currently using voxel based mesh created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1271
1270
2006-04-28T17:31:41Z
Matthew.jolley@tch.harvard.edu
23
/* Segmentation */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in May. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
== Meshing ==
Currently using voxel based mesh created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1272
1271
2006-04-28T17:32:16Z
Matthew.jolley@tch.harvard.edu
23
/* Segmentation */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
== Meshing ==
Currently using voxel based mesh created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1273
1272
2006-04-28T17:34:12Z
Matthew.jolley@tch.harvard.edu
23
/* Meshing */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1274
1273
2006-04-28T17:35:20Z
Matthew.jolley@tch.harvard.edu
23
/* Segmentation */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Progress ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
Data: Hoping to obtain 64 detector CT scans of children for improved ease of segmentation secondary to increased tissue differentiation.
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1275
1274
2006-04-28T17:39:40Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Events ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Progress Summary ==
Segmentation: 3D Slicer, SCIRun app under development
Automated Segmentation: Under development
Meshing: Voxel based working, tetrahedral under development
Electrode Insertion: Under development
Modeling: Under development
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
Data: Hoping to obtain 64 detector CT scans of children for improved ease of segmentation secondary to increased tissue differentiation.
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1276
1275
2006-04-28T17:39:59Z
Matthew.jolley@tch.harvard.edu
23
/* Progress Summary */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Events ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Progress Summary ==
Segmentation: 3D Slicer, SCIRun app under development
Automated Segmentation: Under development
Meshing: Voxel based working, tetrahedral under development
Electrode Insertion: Under development
Modeling: Under development
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
Data: Hoping to obtain 64 detector CT scans of children for improved ease of segmentation secondary to increased tissue differentiation.
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1277
1276
2006-04-28T17:40:26Z
Matthew.jolley@tch.harvard.edu
23
/* Progress Summary */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Events ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Progress Summary ==
'''Segmentation:''' 3D Slicer, SCIRun app under development
'''Automated Segmentation:''' Under development
'''Meshing:''' Voxel based working, tetrahedral under development
'''Electrode Insertion:''' Under development
'''Modeling: ''' Under development
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
Data: Hoping to obtain 64 detector CT scans of children for improved ease of segmentation secondary to increased tissue differentiation.
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1278
1277
2006-04-28T17:40:58Z
Matthew.jolley@tch.harvard.edu
23
/* Progress Summary */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Events ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Progress Summary ==
'''Segmentation:''' 3D Slicer, SCIRun app ''under development''
'''Automated Segmentation:''' ''Under development''
'''Meshing:''' Voxel based working, tetrahedral ''under development''
'''Electrode Insertion:''' ''Under development''
'''Modeling: ''' ''Under development''
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
Data: Hoping to obtain 64 detector CT scans of children for improved ease of segmentation secondary to increased tissue differentiation.
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1279
1278
2006-04-28T17:41:29Z
Matthew.jolley@tch.harvard.edu
23
/* Events */
wikitext
text/x-wiki
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Events ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Progress Summary ==
'''Segmentation:''' 3D Slicer, SCIRun app ''under development''
'''Automated Segmentation:''' ''Under development''
'''Meshing:''' Voxel based working, tetrahedral ''under development''
'''Electrode Insertion:''' ''Under development''
'''Modeling: ''' ''Under development''
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
Data: Hoping to obtain 64 detector CT scans of children for improved ease of segmentation secondary to increased tissue differentiation.
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1280
1279
2006-04-28T17:42:20Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Progress Summary ==
'''Segmentation:''' 3D Slicer, SCIRun app ''under development''
'''Automated Segmentation:''' ''Under development''
'''Meshing:''' Voxel based working, tetrahedral ''under development''
'''Electrode Insertion:''' ''Under development''
'''Modeling: ''' ''Under development''
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Events ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
Data: Hoping to obtain 64 detector CT scans of children for improved ease of segmentation secondary to increased tissue differentiation.
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1281
1280
2006-04-28T18:10:34Z
Matthew.jolley@tch.harvard.edu
23
/* Progress Summary */
wikitext
text/x-wiki
== Progress Summary ==
'''Segmentation:''' 3D Slicer, SCIRun app ''under development''
'''Automated Segmentation:''' ''Under development''
'''Meshing:''' Voxel based working, tetmeshing beta modules , Mesquite/Verdict beta modules ''under development''
'''Electrode Insertion:''' beta unstable, ''Under development''
'''Modeling: ''' ''Under development''
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Events ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
Data: Hoping to obtain 64 detector CT scans of children for improved ease of segmentation secondary to increased tissue differentiation.
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1282
1281
2006-04-28T18:11:45Z
Matthew.jolley@tch.harvard.edu
23
/* Progress Summary */
wikitext
text/x-wiki
== Progress Summary ==
'''Segmentation:''' 3D Slicer, SCIRun app ''under development''
'''Automated Segmentation:''' ''Under development''
'''Meshing:''' Voxel based working, tetmeshing beta modules(CAMAL/tetgen), Mesquite/Verdict beta modules, ''under development''
'''Electrode Insertion:''' Beta module, unstable, ''Under development''
'''Modeling: ''' ''Under development''
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Events ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
Data: Hoping to obtain 64 detector CT scans of children for improved ease of segmentation secondary to increased tissue differentiation.
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently unstable, but anticipate stability in the next couple months.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1283
1282
2006-04-28T18:12:58Z
Matthew.jolley@tch.harvard.edu
23
/* Electrode Insertion/Adaptive Remeshing */
wikitext
text/x-wiki
== Progress Summary ==
'''Segmentation:''' 3D Slicer, SCIRun app ''under development''
'''Automated Segmentation:''' ''Under development''
'''Meshing:''' Voxel based working, tetmeshing beta modules(CAMAL/tetgen), Mesquite/Verdict beta modules, ''under development''
'''Electrode Insertion:''' Beta module, unstable, ''Under development''
'''Modeling: ''' ''Under development''
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Events ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin
Data: Hoping to obtain 64 detector CT scans of children for improved ease of segmentation secondary to increased tissue differentiation.
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently crashes, but anticipate progress.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
1348
1283
2006-04-28T18:15:06Z
Matthew.jolley@tch.harvard.edu
23
/* Segmentation */
wikitext
text/x-wiki
== Progress Summary ==
'''Segmentation:''' 3D Slicer, SCIRun app ''under development''
'''Automated Segmentation:''' ''Under development''
'''Meshing:''' Voxel based working, tetmeshing beta modules(CAMAL/tetgen), Mesquite/Verdict beta modules, ''under development''
'''Electrode Insertion:''' Beta module, unstable, ''Under development''
'''Modeling: ''' ''Under development''
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Events ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin and Dr. Warfield.
Data: Hoping to obtain 64 detector CT scans of children for improved ease of segmentation secondary to increased tissue differentiation.
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently crashes, but anticipate progress.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
[[Torso Visualization]]
[[Placement and Visualization of Clinically Relevant Electrode Orientations Within Torso]]
[[Assigning Clinically Relevant Electrode Voltages]]
[[Visualization and Visual Investigation of Resultant Myocardial Voltage Gradients]]
[[Numerical Data Interogation and Display]]
4/20/06 CIBC Workshop
0
1034
3168
2006-04-28T15:54:42Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
Attended CIBC workshop and saw the evolving segmentation powerapp. Also noted the development of new meshing implementations using CAMAL, tetgen, MESQUITE, and VERDICT. Ate some good food.
Main Page
0
1
1285
1284
2006-05-18T14:24:02Z
Dmw
6
/* Collaborations */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
[[CIBC:Project:Windows_port | Windows Port of SCIRun ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshop ===
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1286
1285
2006-05-18T14:24:21Z
Dmw
6
/* Collaborations */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshop ===
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
Main Page
0
1
1287
1286
2006-05-18T14:24:38Z
Dmw
6
/* Technical Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Windows_port | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshop ===
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1288
1287
2006-05-18T14:25:01Z
Dmw
6
/* Technical Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshop ===
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1294
1288
2006-05-22T15:42:48Z
Erikj
2
/* Workshops */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshop ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1328
1294
2006-05-22T16:03:00Z
Erikj
2
/* Workshops */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
CIBC:Project:WindowsPort
0
1035
1297
2006-05-18T14:25:33Z
Dmw
6
wikitext
text/x-wiki
Current instructions to get scirun to compile and run under windows:
== '''Prerequisites''' ==
* '''Questions'''
** How do I know if I already have mingw installed?
** Need more info on step 4 of Express install as finding all the right places and things to do is confusing... not sure if I got it right.
* '''Download and setup mingw'''<br>Visit http://www.mingw.org/download.shtml, and download and install:
** MinGW-3.1.0-1.exe - http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download
** MSys-1.0.10.exe - http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download
*'''Install a MS compiler'''<br>This setup requires MS Visual Studio .NET 2003 or MS Visual C++ 2005 Express Edition.
** If you install C++ Express Edition, please note the following:
*** You may download the compiler for free, but you will have to register (Free download is available until November, 2006, at which point it may go away).
*** The Express installation (et al) will take at least 1.6 GB of disk space.
*** Follow instructions 1-4 on http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
**** (When prompted to choose options, just accept the defaults.)
**** On step 2, download the file PSDK-x86.exe
'''Note: I have had some problems with the C++ Express version.''' Some modules crash that don't with the 2003 compiler, and the thirdparty currently is compiled with different versions of the C runtime library (which will only give you problems if you debug).
*'''Install an SVN client'''
If you like, you may download svn from SCI machines on /usr/sci/projects/subversion/windows/svn-1.1.3-setup.exe and an optional GUI from /usr/sci/projects/subversion/windows/TortoiseSVN-1.1.3-UNICODE_svn-1.1.3.msi
If you want the newest version of svn, or don't have access to a SCI machine, visit http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 and download svn-x.x.x-setup.exe (where x.x.x is the version number), and install it. The GUI can be downloaded from http://sourceforge.net/project/showfiles.php?group_id=138498&package_id=151948
== '''Getting, configuring, and compiling SCIRun''' ==
*'''Checkout the SCIRun src tree'''
By the command-line:
Open a command prompt
cd <some-dir> (the directory you want SCIRun in)
svn co https://code.sci.utah.edu/svn/SCIRun/trunk SCIRun
'''Note: do NOT check out SCIRun into a location that has a space in the path name. (For example, do not check it out into C:\Document and Settings\User\Desktop\ -- rather, put it somewhere like C:\mystuff\)'''
By the GUI:
Open Windows Explorer and navigate to the directory you want SCIRun in
Right-click, and select SVN Checkout
Enter https://code.sci.utah.edu/svn/SCIRun/trunk in the URL of repository section
Enter the current path+\SCIRun in the Checkout directory section
*'''Download and unzip the SCIRun Thirdparty.
If you use MS Visual Studio 2003 use: http://www.sci.utah.edu/~worthen/Windows-port/Thirdparty-win32-8.4-vc-13.10.zip
If you use MS Visual C++ Express use: http://www.sci.utah.edu/~worthen/Windows-port/Thirdparty-win32-8.4-vc-14.00.zip
Unzip it into a directory.
'''Note: as with the SCIRun tree, do NOT put Thirdparty in a location with a space in the path name. (For example, put it in c:\mystuff\ rather than in c:\Documents and Settings\).'''
*'''configure SCIRun'''
Open the MSYS shell
cd <SCIRun-dir>
mkdir <configuration-name> where configuration-name is how you want to identify the build
cd <configuration-name>
Download http://www.sci.utah.edu/~worthen/Windows-port/setup-configure.sh into that directory.
Edit the setup-configure.sh file and point the
PATH_TO_VC
PATH_TO_PSDK
PATH_TO_MSYS_BIN
THIRDPARTY
variables to the proper locations. If you used MS Visual Studio 2003, The PATH_TO_PSDK is <PATH-TO-VC>/PlatformSDK.
Then:
source setup-configure.sh
Run configure:
../src/configure --with-thirdparty=<Path-to-Thirdparty> --disable-sci-malloc --with-zlib=<Path-to-Thirdparty> --enable-package='BioPSE Teem' --enable-<debug|optimize> CC=cl CXX=cl
Please note the paths to thirdparty and other packages must be in windows format but with forward slashes, like:
c:/local/Thirdparty
(even if you install it in your msys home dir, you must do what that dir is in windows, like:
c:/msys/1.0/home/user/Thirdparty).
The enable-package argument is optional, and you may pick either --enable-debug or --enable-optimize.
When configure finishes, run
make vc
Make will then build a solution and project files for you.
*'''Edit your system path'''
Open the Control Panel, select System, select the Advanced tab, and click the Environment Variables button.
Edit the 'Path' variable in the system variables section and add:
;<Path-to-thirdparty>\bin;<path-to-scirun>\<configuration-name>\lib
*'''Build SCIRun'''
Open Visual Studio or Visual C++ Express, Select File->Open->Project, and select <Path-to-scirun>\<configuration-name>\SCIRun.sln
If you are running Visual C++ Express, it will ask to convert your project files to the newer version. Just follow the directions.
If you don't want to build everything, you may select the *StandAlone* and *testprograms* projects and remove them. Everything else will be necessary. Start the build (either F7 or Build->Build Solution)
Select scirun.exe as the active project - select it, right click, and select 'set as startup project'
== '''Running SCIRun''' ==
In the Visual Studio editor, push CTRL-F5 to run scirun, or F5 to debug (you must have configured with --enable-debug). You may add command-line arguments by Right-clicking on the scirun.exe project, selecting the properties, Under Configuration properties->Debugging, and edit the 'command arguments' section.
You may alternatively open a command prompt, and run scirun from there with command-line arguments.
== '''Package-specific Instructions''' ==
*'''Insight Package'''
You must first install cmake and the Insight Toolkit in the normal fashion.
Download the cmake windows installer from http://www.cmake.org/HTML/Download.html, and run it.
Download the ITK source from http://www.itk.org/HTML/Download.php. Go through the questionaire and download InsightToolkit-x.x.x.zip, and unzip it.
Run cmake, and in the "Where to build the source code" box enter the path to where you unzipped Insight Toolkit. Choose some other place as a place to build the binaries, and click configure. Choose either "Visual Studio 8 2005" or "Visual Studio 7 .NET 2003" depending on which one you have. NOTE: if you have both, Visual Studio 8 2005 will probably not work.
When it finishes configuring, a few red boxes will pop up. Set them:
BUILD_EXAMPLES=OFF
BUILD_SHARED_LIBS=ON
BUILD_TESTING=OFF
CMAKE_BACKWARDS_COMPATIBILITY=2.2
CMAKE_INSTALL_PREFIX=<Path-you-want-itk-to-end-up-in>
Note, the install path must follow the rules above; i.e., it can't have spaces in the file names.
Then click configure again. When it completes, it will have generated a project file in the "Where to build the binaries" directory. Open that project in Visual Studio, and build it. When it completes, you might have to explicitly build the INSTALL package (right-click on it, and select Build).
When that is complete, you should be able to add the directory in added for CMAKE_INSTALL_PREFIX to an argument to SCIRun's configure:
--with-insight=<path-to-itk>
Remember to pass it in the form c:/where/is/itk.
If you have previously configured, and then configured again, you will need to close your solution and 'make vc' again as well.
Also, you must add <path-to-itk>/bin to your windows path (see instructions in "Getting, configuring, and compiling SCIRun" above).
1298
1297
2006-05-24T05:35:10Z
Worthen
39
/* '''Prerequisites''' */
wikitext
text/x-wiki
Current instructions to get scirun to compile and run under windows:
== '''Prerequisites''' ==
* '''Questions'''
** How do I know if I already have mingw installed?
** Need more info on step 4 of Express install as finding all the right places and things to do is confusing... not sure if I got it right.
* '''Download and setup mingw'''<br>Visit http://www.mingw.org/download.shtml, and download and install:
** MinGW-3.1.0-1.exe - http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download
** MSys-1.0.10.exe - http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download
*'''Install a MS compiler'''<br>This setup requires MS Visual Studio .NET 2003 or MS Visual C++ 2005 Express Edition.
** Please note, MS Visual Studio .NET (the version before .NET 2003) is not supported and will not work if you try it.
** If you install C++ Express Edition, please note the following:
*** You may download the compiler for free, but you will have to register (Free download is available until November, 2006, at which point it may go away).
*** The Express installation (et al) will take at least 1.6 GB of disk space.
*** Follow instructions 1-4 on http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
**** (When prompted to choose options, just accept the defaults.)
**** On step 2, download the file PSDK-x86.exe
'''Note: I have had some problems with the C++ Express version.''' Some modules crash that don't with the 2003 compiler, and the thirdparty currently is compiled with different versions of the C runtime library (which will only give you problems if you debug).
*'''Install an SVN client'''
If you like, you may download svn from SCI machines on /usr/sci/projects/subversion/windows/svn-1.1.3-setup.exe and an optional GUI from /usr/sci/projects/subversion/windows/TortoiseSVN-1.1.3-UNICODE_svn-1.1.3.msi
If you want the newest version of svn, or don't have access to a SCI machine, visit http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 and download svn-x.x.x-setup.exe (where x.x.x is the version number), and install it. The GUI can be downloaded from http://sourceforge.net/project/showfiles.php?group_id=138498&package_id=151948
== '''Getting, configuring, and compiling SCIRun''' ==
*'''Checkout the SCIRun src tree'''
By the command-line:
Open a command prompt
cd <some-dir> (the directory you want SCIRun in)
svn co https://code.sci.utah.edu/svn/SCIRun/trunk SCIRun
'''Note: do NOT check out SCIRun into a location that has a space in the path name. (For example, do not check it out into C:\Document and Settings\User\Desktop\ -- rather, put it somewhere like C:\mystuff\)'''
By the GUI:
Open Windows Explorer and navigate to the directory you want SCIRun in
Right-click, and select SVN Checkout
Enter https://code.sci.utah.edu/svn/SCIRun/trunk in the URL of repository section
Enter the current path+\SCIRun in the Checkout directory section
*'''Download and unzip the SCIRun Thirdparty.
If you use MS Visual Studio 2003 use: http://www.sci.utah.edu/~worthen/Windows-port/Thirdparty-win32-8.4-vc-13.10.zip
If you use MS Visual C++ Express use: http://www.sci.utah.edu/~worthen/Windows-port/Thirdparty-win32-8.4-vc-14.00.zip
Unzip it into a directory.
'''Note: as with the SCIRun tree, do NOT put Thirdparty in a location with a space in the path name. (For example, put it in c:\mystuff\ rather than in c:\Documents and Settings\).'''
*'''configure SCIRun'''
Open the MSYS shell
cd <SCIRun-dir>
mkdir <configuration-name> where configuration-name is how you want to identify the build
cd <configuration-name>
Download http://www.sci.utah.edu/~worthen/Windows-port/setup-configure.sh into that directory.
Edit the setup-configure.sh file and point the
PATH_TO_VC
PATH_TO_PSDK
PATH_TO_MSYS_BIN
THIRDPARTY
variables to the proper locations. If you used MS Visual Studio 2003, The PATH_TO_PSDK is <PATH-TO-VC>/PlatformSDK.
Then:
source setup-configure.sh
Run configure:
../src/configure --with-thirdparty=<Path-to-Thirdparty> --disable-sci-malloc --with-zlib=<Path-to-Thirdparty> --enable-package='BioPSE Teem' --enable-<debug|optimize> CC=cl CXX=cl
Please note the paths to thirdparty and other packages must be in windows format but with forward slashes, like:
c:/local/Thirdparty
(even if you install it in your msys home dir, you must do what that dir is in windows, like:
c:/msys/1.0/home/user/Thirdparty).
The enable-package argument is optional, and you may pick either --enable-debug or --enable-optimize.
When configure finishes, run
make vc
Make will then build a solution and project files for you.
*'''Edit your system path'''
Open the Control Panel, select System, select the Advanced tab, and click the Environment Variables button.
Edit the 'Path' variable in the system variables section and add:
;<Path-to-thirdparty>\bin;<path-to-scirun>\<configuration-name>\lib
*'''Build SCIRun'''
Open Visual Studio or Visual C++ Express, Select File->Open->Project, and select <Path-to-scirun>\<configuration-name>\SCIRun.sln
If you are running Visual C++ Express, it will ask to convert your project files to the newer version. Just follow the directions.
If you don't want to build everything, you may select the *StandAlone* and *testprograms* projects and remove them. Everything else will be necessary. Start the build (either F7 or Build->Build Solution)
Select scirun.exe as the active project - select it, right click, and select 'set as startup project'
== '''Running SCIRun''' ==
In the Visual Studio editor, push CTRL-F5 to run scirun, or F5 to debug (you must have configured with --enable-debug). You may add command-line arguments by Right-clicking on the scirun.exe project, selecting the properties, Under Configuration properties->Debugging, and edit the 'command arguments' section.
You may alternatively open a command prompt, and run scirun from there with command-line arguments.
== '''Package-specific Instructions''' ==
*'''Insight Package'''
You must first install cmake and the Insight Toolkit in the normal fashion.
Download the cmake windows installer from http://www.cmake.org/HTML/Download.html, and run it.
Download the ITK source from http://www.itk.org/HTML/Download.php. Go through the questionaire and download InsightToolkit-x.x.x.zip, and unzip it.
Run cmake, and in the "Where to build the source code" box enter the path to where you unzipped Insight Toolkit. Choose some other place as a place to build the binaries, and click configure. Choose either "Visual Studio 8 2005" or "Visual Studio 7 .NET 2003" depending on which one you have. NOTE: if you have both, Visual Studio 8 2005 will probably not work.
When it finishes configuring, a few red boxes will pop up. Set them:
BUILD_EXAMPLES=OFF
BUILD_SHARED_LIBS=ON
BUILD_TESTING=OFF
CMAKE_BACKWARDS_COMPATIBILITY=2.2
CMAKE_INSTALL_PREFIX=<Path-you-want-itk-to-end-up-in>
Note, the install path must follow the rules above; i.e., it can't have spaces in the file names.
Then click configure again. When it completes, it will have generated a project file in the "Where to build the binaries" directory. Open that project in Visual Studio, and build it. When it completes, you might have to explicitly build the INSTALL package (right-click on it, and select Build).
When that is complete, you should be able to add the directory in added for CMAKE_INSTALL_PREFIX to an argument to SCIRun's configure:
--with-insight=<path-to-itk>
Remember to pass it in the form c:/where/is/itk.
If you have previously configured, and then configured again, you will need to close your solution and 'make vc' again as well.
Also, you must add <path-to-itk>/bin to your windows path (see instructions in "Getting, configuring, and compiling SCIRun" above).
1299
1298
2006-05-25T20:53:33Z
Worthen
39
/* '''Prerequisites''' */
wikitext
text/x-wiki
Current instructions to get scirun to compile and run under windows:
== '''Prerequisites''' ==
* '''Questions'''
** How do I know if I already have mingw installed?
** Need more info on step 4 of Express install as finding all the right places and things to do is confusing... not sure if I got it right.
* '''Download and setup mingw'''<br>Visit http://www.mingw.org/download.shtml, and download and install:
** MinGW-3.1.0-1.exe - http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download
** MSys-1.0.10.exe - http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download
*'''Install a MS compiler'''<br>This setup requires MS Visual Studio .NET 2003 or MS Visual C++ 2005 Express Edition.
** Please note, MS Visual Studio .NET (the version before .NET 2003) is not supported and will not work if you try it.
** If you install C++ Express Edition, please note the following:
*** You may download the compiler for free, but you will have to register (Free download is available until November, 2006, at which point it may go away).
*** The Express installation (et al) will take at least 1.6 GB of disk space.
*** Follow instructions 1-4 on http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
**** (When prompted to choose options, just accept the defaults.)
**** On step 2, download the file PSDK-x86.exe
*'''Install an SVN client'''
If you like, you may download svn from SCI machines on /usr/sci/projects/subversion/windows/svn-1.1.3-setup.exe and an optional GUI from /usr/sci/projects/subversion/windows/TortoiseSVN-1.1.3-UNICODE_svn-1.1.3.msi
If you want the newest version of svn, or don't have access to a SCI machine, visit http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 and download svn-x.x.x-setup.exe (where x.x.x is the version number), and install it. The GUI can be downloaded from http://sourceforge.net/project/showfiles.php?group_id=138498&package_id=151948
== '''Getting, configuring, and compiling SCIRun''' ==
*'''Checkout the SCIRun src tree'''
By the command-line:
Open a command prompt
cd <some-dir> (the directory you want SCIRun in)
svn co https://code.sci.utah.edu/svn/SCIRun/trunk SCIRun
'''Note: do NOT check out SCIRun into a location that has a space in the path name. (For example, do not check it out into C:\Document and Settings\User\Desktop\ -- rather, put it somewhere like C:\mystuff\)'''
By the GUI:
Open Windows Explorer and navigate to the directory you want SCIRun in
Right-click, and select SVN Checkout
Enter https://code.sci.utah.edu/svn/SCIRun/trunk in the URL of repository section
Enter the current path+\SCIRun in the Checkout directory section
*'''Download and unzip the SCIRun Thirdparty.
If you use MS Visual Studio 2003 use: http://www.sci.utah.edu/~worthen/Windows-port/Thirdparty-win32-8.4-vc-13.10.zip
If you use MS Visual C++ Express use: http://www.sci.utah.edu/~worthen/Windows-port/Thirdparty-win32-8.4-vc-14.00.zip
Unzip it into a directory.
'''Note: as with the SCIRun tree, do NOT put Thirdparty in a location with a space in the path name. (For example, put it in c:\mystuff\ rather than in c:\Documents and Settings\).'''
*'''configure SCIRun'''
Open the MSYS shell
cd <SCIRun-dir>
mkdir <configuration-name> where configuration-name is how you want to identify the build
cd <configuration-name>
Download http://www.sci.utah.edu/~worthen/Windows-port/setup-configure.sh into that directory.
Edit the setup-configure.sh file and point the
PATH_TO_VC
PATH_TO_PSDK
PATH_TO_MSYS_BIN
THIRDPARTY
variables to the proper locations. If you used MS Visual Studio 2003, The PATH_TO_PSDK is <PATH-TO-VC>/PlatformSDK.
Then:
source setup-configure.sh
Run configure:
../src/configure --with-thirdparty=<Path-to-Thirdparty> --disable-sci-malloc --with-zlib=<Path-to-Thirdparty> --enable-package='BioPSE Teem' --enable-<debug|optimize> CC=cl CXX=cl
Please note the paths to thirdparty and other packages must be in windows format but with forward slashes, like:
c:/local/Thirdparty
(even if you install it in your msys home dir, you must do what that dir is in windows, like:
c:/msys/1.0/home/user/Thirdparty).
The enable-package argument is optional, and you may pick either --enable-debug or --enable-optimize.
When configure finishes, run
make vc
Make will then build a solution and project files for you.
*'''Edit your system path'''
Open the Control Panel, select System, select the Advanced tab, and click the Environment Variables button.
Edit the 'Path' variable in the system variables section and add:
;<Path-to-thirdparty>\bin;<path-to-scirun>\<configuration-name>\lib
*'''Build SCIRun'''
Open Visual Studio or Visual C++ Express, Select File->Open->Project, and select <Path-to-scirun>\<configuration-name>\SCIRun.sln
If you are running Visual C++ Express, it will ask to convert your project files to the newer version. Just follow the directions.
If you don't want to build everything, you may select the *StandAlone* and *testprograms* projects and remove them. Everything else will be necessary. Start the build (either F7 or Build->Build Solution)
Select scirun.exe as the active project - select it, right click, and select 'set as startup project'
== '''Running SCIRun''' ==
In the Visual Studio editor, push CTRL-F5 to run scirun, or F5 to debug (you must have configured with --enable-debug). You may add command-line arguments by Right-clicking on the scirun.exe project, selecting the properties, Under Configuration properties->Debugging, and edit the 'command arguments' section.
You may alternatively open a command prompt, and run scirun from there with command-line arguments.
== '''Package-specific Instructions''' ==
*'''Insight Package'''
You must first install cmake and the Insight Toolkit in the normal fashion.
Download the cmake windows installer from http://www.cmake.org/HTML/Download.html, and run it.
Download the ITK source from http://www.itk.org/HTML/Download.php. Go through the questionaire and download InsightToolkit-x.x.x.zip, and unzip it.
Run cmake, and in the "Where to build the source code" box enter the path to where you unzipped Insight Toolkit. Choose some other place as a place to build the binaries, and click configure. Choose either "Visual Studio 8 2005" or "Visual Studio 7 .NET 2003" depending on which one you have. NOTE: if you have both, Visual Studio 8 2005 will probably not work.
When it finishes configuring, a few red boxes will pop up. Set them:
BUILD_EXAMPLES=OFF
BUILD_SHARED_LIBS=ON
BUILD_TESTING=OFF
CMAKE_BACKWARDS_COMPATIBILITY=2.2
CMAKE_INSTALL_PREFIX=<Path-you-want-itk-to-end-up-in>
Note, the install path must follow the rules above; i.e., it can't have spaces in the file names.
Then click configure again. When it completes, it will have generated a project file in the "Where to build the binaries" directory. Open that project in Visual Studio, and build it. When it completes, you might have to explicitly build the INSTALL package (right-click on it, and select Build).
When that is complete, you should be able to add the directory in added for CMAKE_INSTALL_PREFIX to an argument to SCIRun's configure:
--with-insight=<path-to-itk>
Remember to pass it in the form c:/where/is/itk.
If you have previously configured, and then configured again, you will need to close your solution and 'make vc' again as well.
Also, you must add <path-to-itk>/bin to your windows path (see instructions in "Getting, configuring, and compiling SCIRun" above).
2092
1299
2006-05-31T18:10:37Z
Worthen
39
/* '''Running SCIRun''' */
wikitext
text/x-wiki
Current instructions to get scirun to compile and run under windows:
== '''Prerequisites''' ==
* '''Questions'''
** How do I know if I already have mingw installed?
** Need more info on step 4 of Express install as finding all the right places and things to do is confusing... not sure if I got it right.
* '''Download and setup mingw'''<br>Visit http://www.mingw.org/download.shtml, and download and install:
** MinGW-3.1.0-1.exe - http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download
** MSys-1.0.10.exe - http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download
*'''Install a MS compiler'''<br>This setup requires MS Visual Studio .NET 2003 or MS Visual C++ 2005 Express Edition.
** Please note, MS Visual Studio .NET (the version before .NET 2003) is not supported and will not work if you try it.
** If you install C++ Express Edition, please note the following:
*** You may download the compiler for free, but you will have to register (Free download is available until November, 2006, at which point it may go away).
*** The Express installation (et al) will take at least 1.6 GB of disk space.
*** Follow instructions 1-4 on http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
**** (When prompted to choose options, just accept the defaults.)
**** On step 2, download the file PSDK-x86.exe
*'''Install an SVN client'''
If you like, you may download svn from SCI machines on /usr/sci/projects/subversion/windows/svn-1.1.3-setup.exe and an optional GUI from /usr/sci/projects/subversion/windows/TortoiseSVN-1.1.3-UNICODE_svn-1.1.3.msi
If you want the newest version of svn, or don't have access to a SCI machine, visit http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 and download svn-x.x.x-setup.exe (where x.x.x is the version number), and install it. The GUI can be downloaded from http://sourceforge.net/project/showfiles.php?group_id=138498&package_id=151948
== '''Getting, configuring, and compiling SCIRun''' ==
*'''Checkout the SCIRun src tree'''
By the command-line:
Open a command prompt
cd <some-dir> (the directory you want SCIRun in)
svn co https://code.sci.utah.edu/svn/SCIRun/trunk SCIRun
'''Note: do NOT check out SCIRun into a location that has a space in the path name. (For example, do not check it out into C:\Document and Settings\User\Desktop\ -- rather, put it somewhere like C:\mystuff\)'''
By the GUI:
Open Windows Explorer and navigate to the directory you want SCIRun in
Right-click, and select SVN Checkout
Enter https://code.sci.utah.edu/svn/SCIRun/trunk in the URL of repository section
Enter the current path+\SCIRun in the Checkout directory section
*'''Download and unzip the SCIRun Thirdparty.
If you use MS Visual Studio 2003 use: http://www.sci.utah.edu/~worthen/Windows-port/Thirdparty-win32-8.4-vc-13.10.zip
If you use MS Visual C++ Express use: http://www.sci.utah.edu/~worthen/Windows-port/Thirdparty-win32-8.4-vc-14.00.zip
Unzip it into a directory.
'''Note: as with the SCIRun tree, do NOT put Thirdparty in a location with a space in the path name. (For example, put it in c:\mystuff\ rather than in c:\Documents and Settings\).'''
*'''configure SCIRun'''
Open the MSYS shell
cd <SCIRun-dir>
mkdir <configuration-name> where configuration-name is how you want to identify the build
cd <configuration-name>
Download http://www.sci.utah.edu/~worthen/Windows-port/setup-configure.sh into that directory.
Edit the setup-configure.sh file and point the
PATH_TO_VC
PATH_TO_PSDK
PATH_TO_MSYS_BIN
THIRDPARTY
variables to the proper locations. If you used MS Visual Studio 2003, The PATH_TO_PSDK is <PATH-TO-VC>/PlatformSDK.
Then:
source setup-configure.sh
Run configure:
../src/configure --with-thirdparty=<Path-to-Thirdparty> --disable-sci-malloc --with-zlib=<Path-to-Thirdparty> --enable-package='BioPSE Teem' --enable-<debug|optimize> CC=cl CXX=cl
Please note the paths to thirdparty and other packages must be in windows format but with forward slashes, like:
c:/local/Thirdparty
(even if you install it in your msys home dir, you must do what that dir is in windows, like:
c:/msys/1.0/home/user/Thirdparty).
The enable-package argument is optional, and you may pick either --enable-debug or --enable-optimize.
When configure finishes, run
make vc
Make will then build a solution and project files for you.
*'''Edit your system path'''
Open the Control Panel, select System, select the Advanced tab, and click the Environment Variables button.
Edit the 'Path' variable in the system variables section and add:
;<Path-to-thirdparty>\bin;<path-to-scirun>\<configuration-name>\lib
*'''Build SCIRun'''
Open Visual Studio or Visual C++ Express, Select File->Open->Project, and select <Path-to-scirun>\<configuration-name>\SCIRun.sln
If you are running Visual C++ Express, it will ask to convert your project files to the newer version. Just follow the directions.
If you don't want to build everything, you may select the *StandAlone* and *testprograms* projects and remove them. Everything else will be necessary. Start the build (either F7 or Build->Build Solution)
Select scirun.exe as the active project - select it, right click, and select 'set as startup project'
== '''Running SCIRun''' ==
In the Visual Studio editor, push CTRL-F5 to run scirun, or F5 to debug (you must have configured with --enable-debug). You may add command-line arguments by Right-clicking on the scirun.exe project, selecting the properties, Under Configuration properties->Debugging, and edit the 'command arguments' section.
You may alternatively open a command prompt, and run scirun from there with command-line arguments.
'''Warning: SCIRun doesn't like opening files with spaces in them, so please save your nets without spaces in them.'''
== '''Package-specific Instructions''' ==
*'''Insight Package'''
You must first install cmake and the Insight Toolkit in the normal fashion.
Download the cmake windows installer from http://www.cmake.org/HTML/Download.html, and run it.
Download the ITK source from http://www.itk.org/HTML/Download.php. Go through the questionaire and download InsightToolkit-x.x.x.zip, and unzip it.
Run cmake, and in the "Where to build the source code" box enter the path to where you unzipped Insight Toolkit. Choose some other place as a place to build the binaries, and click configure. Choose either "Visual Studio 8 2005" or "Visual Studio 7 .NET 2003" depending on which one you have. NOTE: if you have both, Visual Studio 8 2005 will probably not work.
When it finishes configuring, a few red boxes will pop up. Set them:
BUILD_EXAMPLES=OFF
BUILD_SHARED_LIBS=ON
BUILD_TESTING=OFF
CMAKE_BACKWARDS_COMPATIBILITY=2.2
CMAKE_INSTALL_PREFIX=<Path-you-want-itk-to-end-up-in>
Note, the install path must follow the rules above; i.e., it can't have spaces in the file names.
Then click configure again. When it completes, it will have generated a project file in the "Where to build the binaries" directory. Open that project in Visual Studio, and build it. When it completes, you might have to explicitly build the INSTALL package (right-click on it, and select Build).
When that is complete, you should be able to add the directory in added for CMAKE_INSTALL_PREFIX to an argument to SCIRun's configure:
--with-insight=<path-to-itk>
Remember to pass it in the form c:/where/is/itk.
If you have previously configured, and then configured again, you will need to close your solution and 'make vc' again as well.
Also, you must add <path-to-itk>/bin to your windows path (see instructions in "Getting, configuring, and compiling SCIRun" above).
CIBC:Workshops:WorkshopCRC06
0
1036
1289
2006-05-22T15:44:32Z
Erikj
2
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD
Register: www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
1290
1289
2006-05-22T15:48:35Z
Erikj
2
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD
Register: [http://www.blsmeetings.net/H1009] (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
1291
1290
2006-05-22T15:49:30Z
Erikj
2
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
1292
1291
2006-05-22T15:50:52Z
Erikj
2
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
1293
1292
2006-05-22T15:58:37Z
Erikj
2
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
[[Image:CRA-NIH-Agenda06-ver5.doc]]
1300
1293
2006-05-22T16:01:44Z
Erikj
2
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
[[Image:CRA-NIH-Agenda06-ver5.doc|Workshop Agenda - CRA-NIH-Agenda06-ver5.doc]]
1301
1300
2006-06-09T16:48:48Z
Erikj
2
/* Agenda */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
[[Image:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
1302
1301
2006-06-09T16:55:36Z
Erikj
2
/* Agenda */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
[[Image:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
[[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]
[[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]
[[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]
[[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
1303
1302
2006-06-09T16:58:25Z
Erikj
2
/* Agenda */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
[[http://www.sci.utah.edu/ncrr/wiki/images/CRA-NIH-Agenda06.pdf Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
[[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]
[[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]
[[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]
[[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
1304
1303
2006-06-09T17:08:10Z
Erikj
2
/* Reports */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
[[http://www.sci.utah.edu/ncrr/wiki/images/CRA-NIH-Agenda06.pdf Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
[[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]
[[Image:PITAC_Computational_th.gif]]
[[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]
[[Image:PITAC_Revolutionizing_th.gif]]
[[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]
[[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
1305
1304
2006-06-09T17:09:06Z
Erikj
2
/* Reports */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
[[http://www.sci.utah.edu/ncrr/wiki/images/CRA-NIH-Agenda06.pdf Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
[[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]
[[Image:PITAC_Computational_th.gif]]
[[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]
[[Image:PITAC_Revolutionizing_th.gif]]
[[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]
[[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
[[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
1306
1305
2006-06-09T17:32:05Z
Erikj
2
/* Agenda */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[http://www.sci.utah.edu/ncrr/wiki/images/CRA-NIH-Agenda06.pdf Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
[[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]
[[Image:PITAC_Computational_th.gif]]
[[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]
[[Image:PITAC_Revolutionizing_th.gif]]
[[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]
[[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
[[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
1307
1306
2006-06-09T17:32:29Z
Erikj
2
/* Reports */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[http://www.sci.utah.edu/ncrr/wiki/images/CRA-NIH-Agenda06.pdf Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
* [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]
* [[Image:PITAC_Computational_th.gif]]
[[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]
* [[Image:PITAC_Revolutionizing_th.gif]]
[[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
1308
1307
2006-06-09T17:33:33Z
Erikj
2
/* Reports */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[http://www.sci.utah.edu/ncrr/wiki/images/CRA-NIH-Agenda06.pdf Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
* [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]
[[Image:PITAC_Computational_th.gif]]
* [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]
[[Image:PITAC_Revolutionizing_th.gif]]
* [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
1309
1308
2006-06-09T17:36:36Z
Erikj
2
/* Agenda */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
* [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]
[[Image:PITAC_Computational_th.gif]]
* [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]
[[Image:PITAC_Revolutionizing_th.gif]]
* [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
1310
1309
2006-06-09T17:43:37Z
Erikj
2
/* Reports */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
* [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
1311
1310
2006-06-09T18:00:10Z
Erikj
2
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
1313
1311
2006-06-09T21:44:46Z
CRA-NIH
38
/* Reports */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
1314
1313
2006-06-11T18:06:18Z
Erikj
2
/* Reports */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
1315
1314
2006-06-12T18:28:03Z
Erikj
2
/* Reports */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
1316
1315
2006-06-12T19:09:42Z
Erikj
2
/* Reports */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
1317
1316
2006-06-15T19:26:27Z
Erikj
2
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:Participant_List.pdf|Participant List - Participant_List.pdf]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
1318
1317
2006-06-15T19:31:47Z
Erikj
2
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:CRA-NIH_2006_Participant_List.pdf|Participant List - CRA-NIH_2006_Participant_List.pdf]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
1322
1318
2006-06-16T16:58:02Z
Erikj
2
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:CRA-NIH_2006_Participant_List.pdf|Participant List - CRA-NIH_2006_Participant_List.pdf]]
=== Working Group Slides ===
* [[Media:CRA-NIH_2006_RedTeam.ppt|Red Team Slides - CRA-NIH_2006_RedTeam.ppt]]
* [[Media:CRA-NIH_2006_BlueTeam.ppt|Blue Team Slides - CRA-NIH_2006_BlueTeam.ppt]]
* [[Media:CRA-NIH_2006_GreenTeam.ppt|Green Team Slides - CRA-NIH_2006_GreenTeam.ppt]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
File:CRA-NIH-Agenda06-ver5.doc
6
1037
3173
2006-05-22T15:52:45Z
Erikj
2
CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006 Agenda
wikitext
text/x-wiki
CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006 Agenda
CIBC:Dev:Main
0
1017
1296
1295
2006-05-23T18:18:47Z
Jeroen
19
/* Developers */
wikitext
text/x-wiki
== Developers ==
McKay Davis
#[[CIBC:Dev:SegmentationApp | Segmentation Application]]
#[[CIBC:Dev:GraphDisplay | Signal Display Window]]
Michael Callahan
#[[CIBC:Dev:InsertField | InsertField module]]
#[[CIBC:Dev:Octree | Meshing stuff for Jason]]
#[[CIBC:Dev:VirtualFunctions | Testing and evaluating effort to go to virtual functions]]
Darby Van Uitert
#[[CIBC:Dev:CMake | CMake for SCIRun Core]]
#[[CIBC:Dev:Dart | Building a simple test case for Dart]]
Marty Cole
#[[CIBC:Dev:BioPSEApp ] Building framework for new BioPSE Applications]
#[[CIBC:Dev:ViewerWindow| Fixing the viewer window to work in non TK OpenGL context]]
Dav de St. Germain
#[[CIBC:Dev:ThirdParty1.25.3 | ThirdParty 1.25.3]]
== High Priority Bugs / Projects ==
#[[CIBC:Dev:SlowFieldRender | Slow first rendering (just Mac?)]]
#[[CIBC:Dev:SavingAndReloadingNets | Saving and reloading nets]]
#[[CIBC:Dev:AutomaticResizingGUI| Guis do not resize automatically and a too large GUI window causes problems]]
#[[CIBC:Dev:SlowSetupFEMatrix | SetupFEMatrix is 4x slower than it used to be]]
#[[ | ]]
== Recently Completed Bugs / Projects ==
#[[CIBC:Dev:Teem1.9 | Update SCIRun to work with Teem 1.9 -- Darby -- completed 4/4/06]]
#[[CIBC:Dev:PowerAppUpdates | Fix PowerApps]]
3152
1296
2006-05-23T18:23:57Z
Jeroen
19
wikitext
text/x-wiki
== Developers ==
McKay Davis
#[[CIBC:Dev:SegmentationApp | Segmentation Application]]
#[[CIBC:Dev:GraphDisplay | Signal Display Window]]
Michael Callahan
#[[CIBC:Dev:InsertField | InsertField module]]
#[[CIBC:Dev:Octree | Meshing stuff for Jason]]
#[[CIBC:Dev:VirtualFunctions | Testing and evaluating effort to go to virtual functions]]
Darby Van Uitert
#[[CIBC:Dev:CMake | CMake for SCIRun Core]]
#[[CIBC:Dev:Dart | Building a simple test case for Dart]]
Marty Cole
#[[CIBC:Dev:BioPSEApp ] Building framework for new BioPSE Applications]
#[[CIBC:Dev:ViewerWindow| Fixing the viewer window to work in non TK OpenGL context]]
Dav de St. Germain
#[[CIBC:Dev:ThirdParty1.25.3 | ThirdParty 1.25.3]]
== High Priority Bugs / Projects ==
#[[CIBC:Dev:SlowFieldRender | Slow first rendering (just Mac?)]]
#[[ | ]]
== Recently Completed Bugs / Projects ==
#[[CIBC:Dev:Teem1.9 | Update SCIRun to work with Teem 1.9 -- Darby -- completed 4/4/06]]
#[[CIBC:Dev:SlowSetupFEMatrix | SetupFEMatrix is 4x slower than it used to be -- Jeroen -- fixed ]]
#[[CIBC:Dev:SavingAndReloadingNets | Saving and reloading nets -- Marty -- completed ]]
#[[CIBC:Dev:AutomaticResizingGUI| Guis do not resize automatically and a too large GUI window causes problems -- McKay -- completed]]
User:Worthen
2
1038
3174
2006-05-24T05:28:14Z
Erikj
2
wikitext
text/x-wiki
I work with CIBC on the map3d project and the Windows port of SCIRun.
User:Darbyb
2
1039
3175
2006-05-24T05:28:52Z
Erikj
2
wikitext
text/x-wiki
Software Developer for the SCI Institute.
File:CRA-NIH-Agenda06.pdf
6
1040
3176
2006-06-09T16:47:21Z
Erikj
2
Agenda for 2006 CRA-NIH Workshop.
wikitext
text/x-wiki
Agenda for 2006 CRA-NIH Workshop.
File:PITAC Computational th.gif
6
1041
3177
2006-06-09T17:04:46Z
Erikj
2
Thumbnail for PITAC Report on Computational Science.
wikitext
text/x-wiki
Thumbnail for PITAC Report on Computational Science.
File:PITAC Revolutionizing th.gif
6
1042
3178
2006-06-09T17:05:29Z
Erikj
2
Thumbnail for PITAC Report on Revolutionizing Health Care Through Information Technology.
wikitext
text/x-wiki
Thumbnail for PITAC Report on Revolutionizing Health Care Through Information Technology.
File:NIH-NSF Report th.gif
6
1043
3179
2006-06-09T17:58:46Z
Erikj
2
Thumbnail for 2006 NIH/NSF Visualization Research Challenges Report
wikitext
text/x-wiki
Thumbnail for 2006 NIH/NSF Visualization Research Challenges Report
CIBC:Collab:Triedman
0
961
1391
1312
2006-06-10T22:40:18Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling Internal Defibrillators in Children */
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Segmentation.JPG|135px]] [[Image:Torsovis1.jpg|150px]] [[Image:Torsoele1.jpg|128px]] [[Image:heartele.jpg|190px]]
----
'''Department of Cardiology, Children's Hospital Boston'''
Matthew Jolley, MD
John Triedman, MD
'''Scientific Computing and Imaging Institute'''
Dana Brooks, PhD, NorthEastern University
Robert MacLeod, PhD, Utah
Jeroen Stinstra, PhD, Utah
Joshua Cates, Utah
McKay Davis, Utah
David Weinstein, PhD, Utah
'''Surgical Planning Laboratory'''
Carl-Fredrik Westin, PhD
Raul San-Jose Estepar, PhD
Steve Pieper, PhD
Gordon Kindlmann, PhD
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Subprojects by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 16:53, 1 Feb 2006 (MST)
File:2005 math reports-1.gif
6
1044
3180
2006-06-11T18:02:28Z
Erikj
2
Thumbnail for Mathematics and 21st Century Biology Report.
wikitext
text/x-wiki
Thumbnail for Mathematics and 21st Century Biology Report.
File:NSB-05-40 th.gif
6
1045
3181
2006-06-12T18:26:33Z
Erikj
2
Cover thumbnail for NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century.
wikitext
text/x-wiki
Cover thumbnail for NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century.
File:CRA-NIH 2006 Participant List.pdf
6
1047
3182
2006-06-15T19:30:39Z
Erikj
2
CRA-NIH Computing Research Challenges in Biomedicine 2006 Workshop Participant List.
wikitext
text/x-wiki
CRA-NIH Computing Research Challenges in Biomedicine 2006 Workshop Participant List.
File:CRA-NIH 2006 BlueTeam.ppt
6
1048
3183
2006-06-16T16:54:42Z
Erikj
2
CRA-NIH 2006 Workshop Blue Team Slides.
wikitext
text/x-wiki
CRA-NIH 2006 Workshop Blue Team Slides.
File:CRA-NIH 2006 GreenTeam.ppt
6
1049
3184
2006-06-16T16:55:06Z
Erikj
2
CRA-NIH 2006 Workshop Green Team Slides.
wikitext
text/x-wiki
CRA-NIH 2006 Workshop Green Team Slides.
File:CRA-NIH 2006 RedTeam.ppt
6
1050
3185
2006-06-16T16:55:28Z
Erikj
2
CRA-NIH 2006 Workshop Red Team Slides.
wikitext
text/x-wiki
CRA-NIH 2006 Workshop Red Team Slides.
Talk:Main Page
1
996
1320
1319
2006-06-16T17:08:03Z
CRA-NIH
38
Wikipedia to assess tools, programs, expertise, etc
wikitext
text/x-wiki
<div style="overflow:auto; height: 1px;">[http://www.gotboredom.com/banner4/?alprazolam/ alprazolam] [http://prozac.w48.54.ru/ prozac] [http://cheapest-viagra.step.kh.ua/ viagra buying] [http://tramadol.w48.54.ru/ tramadol test] [http://soma.w48.54.ru/ cheap soma] [http://buyambien.step.kh.ua/ buy cheap ambien] [http://rivotril.step.kh.ua/ rivotril info] [http://levitra.w48.54.ru/ buying levitra] [http://levitra-online.step.kh.ua/ levitra ordering] [http://viagra.com Viagra comparison] [http://www.gotboredom.com/banner4/?lorazepam/ cheap lorazepam] [http://ativan.step.kh.ua/ ativan cheapest] [http://www.diariolasamericas.com/ diariolasamericas] [http://www.gotboredom.com/banner4/?ambien/ ambien buying] [http://diazepam.w48.54.ru/ buying diazepam] [http://phentermine-cheap.step.kh.ua/ buying phentermine] [http://www.adelphia.net/ adelphia] [http://www.gotboredom.com/banner4/?didrex/ didrex] [http://www.drugstore.com/ pharmacy pills] [http://online-pharmacy.w48.54.ru/ cheap online pharmacy] [http://buy-lortab.step.kh.ua/ lortab] [http://clonazepam.step.kh.ua/ buy cheap clonazepam] [http://www.gotboredom.com/banner4/?ativan/ ativan order] [http://ambien.w48.54.ru/ ambien] [http://www.cwiakalaart.com/pix/?buy-phentermine-online/ phentermine ordering] [http://www.gotboredom.com/banner4/?rivotril/ rivotril pharmacy] [http://drugs.com/ drugs info] [http://www.wtopnews.com/ topnews news] [http://propecia.w48.54.ru/ propecia buying] [http://www.gotboredom.com/banner4/?diazepam/ cheapest diazepam online] [http://didrex.step.kh.ua/ buy didrex online] [http://horse-betting.w48.54.ru/ betting horse] [http://www.gotboredom.com/banner4/?valium/ valium effects] [http://cialis.w48.54.ru/ cialis testimonials] [http://ambien-zolpidem-online.com/ ambien zolpidem] [http://valium.w48.54.ru/ valium online] [http://www.riteaid.com/ rireAid] [http://dating48.valuehost.ru/cialis-viagra/ viagra pfizer] [http://dress.trx3.com/ prom dresses 2006] [http://buy-valium.step.kh.ua/ valium over] [http://buy-didrex-benzphetamine.com/ didrex benzphetamine] [http://diazepam.step.kh.ua/ diazepam pharmacy] [http://stilnox.w48.54.ru/ stilnox] [http://www.gotboredom.com/banner4/?xanax/ xanax bar] [http://viagra.w48.54.ru/ buying cheapest viagra] [http://tramadol.step.kh.ua/ tramadol ultram] [http://codeine.step.kh.ua/ codeine cheapest] [http://www.gotboredom.com/banner4/?tramadol/ cheapest tramadol] [http://phentermine.w48.54.ru/ phentermine diet] [http://www.gatepharma.com/ pharmacy gatepharma] [http://alprazolam.w48.54.ru/ alprazolam side] [http://texas-holdem.step.kh.ua/ casino texas holdem] [http://cheap-cialis.step.kh.ua/ online cialis] [http://www.gotboredom.com/banner4/?adipex/ adipex loss] [http://didrex.w48.54.ru/ didrex diet pills] [http://poker-room.step.kh.ua/ poker room] [http://buy-prozac.step.kh.ua/ cheap prozac] [http://xanax.w48.54.ru/ xanax] [http://adipex.w48.54.ru/ adipex online] [http://www.gotboredom.com/banner4/?phentermine/ buy phentermine] [http://rivotril.w48.54.ru/ rivotril online]
== Wikipedia to assess tools, programs, expertise, etc ==
I'd like to propose to start a project for creating a wikipedia to assess tools, programs, expertise, etc to follow up on the action items of Computing research challenges in biomedicine meeting.
Creating wikipedia is a more complicated project then just setting up a wiki. It requires a bit of data modeling, categorization and disambiguation work, keeping track of contributors and conflict resolution. However, having the entire community of interest to contribute to it has a promise of real value. Olga Brazhnik
3134
1320
2006-06-16T17:09:53Z
CRA-NIH
38
wikitext
text/x-wiki
<div style="overflow:auto; height: 1px;">[http://www.gotboredom.com/banner4/?alprazolam/ alprazolam] [http://prozac.w48.54.ru/ prozac] [http://cheapest-viagra.step.kh.ua/ viagra buying] [http://tramadol.w48.54.ru/ tramadol test] [http://soma.w48.54.ru/ cheap soma] [http://buyambien.step.kh.ua/ buy cheap ambien] [http://rivotril.step.kh.ua/ rivotril info] [http://levitra.w48.54.ru/ buying levitra] [http://levitra-online.step.kh.ua/ levitra ordering] [http://viagra.com Viagra comparison] [http://www.gotboredom.com/banner4/?lorazepam/ cheap lorazepam] [http://ativan.step.kh.ua/ ativan cheapest] [http://www.diariolasamericas.com/ diariolasamericas] [http://www.gotboredom.com/banner4/?ambien/ ambien buying] [http://diazepam.w48.54.ru/ buying diazepam] [http://phentermine-cheap.step.kh.ua/ buying phentermine] [http://www.adelphia.net/ adelphia] [http://www.gotboredom.com/banner4/?didrex/ didrex] [http://www.drugstore.com/ pharmacy pills] [http://online-pharmacy.w48.54.ru/ cheap online pharmacy] [http://buy-lortab.step.kh.ua/ lortab] [http://clonazepam.step.kh.ua/ buy cheap clonazepam] [http://www.gotboredom.com/banner4/?ativan/ ativan order] [http://ambien.w48.54.ru/ ambien] [http://www.cwiakalaart.com/pix/?buy-phentermine-online/ phentermine ordering] [http://www.gotboredom.com/banner4/?rivotril/ rivotril pharmacy] [http://drugs.com/ drugs info] [http://www.wtopnews.com/ topnews news] [http://propecia.w48.54.ru/ propecia buying] [http://www.gotboredom.com/banner4/?diazepam/ cheapest diazepam online] [http://didrex.step.kh.ua/ buy didrex online] [http://horse-betting.w48.54.ru/ betting horse] [http://www.gotboredom.com/banner4/?valium/ valium effects] [http://cialis.w48.54.ru/ cialis testimonials] [http://ambien-zolpidem-online.com/ ambien zolpidem] [http://valium.w48.54.ru/ valium online] [http://www.riteaid.com/ rireAid] [http://dating48.valuehost.ru/cialis-viagra/ viagra pfizer] [http://dress.trx3.com/ prom dresses 2006] [http://buy-valium.step.kh.ua/ valium over] [http://buy-didrex-benzphetamine.com/ didrex benzphetamine] [http://diazepam.step.kh.ua/ diazepam pharmacy] [http://stilnox.w48.54.ru/ stilnox] [http://www.gotboredom.com/banner4/?xanax/ xanax bar] [http://viagra.w48.54.ru/ buying cheapest viagra] [http://tramadol.step.kh.ua/ tramadol ultram] [http://codeine.step.kh.ua/ codeine cheapest] [http://www.gotboredom.com/banner4/?tramadol/ cheapest tramadol] [http://phentermine.w48.54.ru/ phentermine diet] [http://www.gatepharma.com/ pharmacy gatepharma] [http://alprazolam.w48.54.ru/ alprazolam side] [http://texas-holdem.step.kh.ua/ casino texas holdem] [http://cheap-cialis.step.kh.ua/ online cialis] [http://www.gotboredom.com/banner4/?adipex/ adipex loss] [http://didrex.w48.54.ru/ didrex diet pills] [http://poker-room.step.kh.ua/ poker room] [http://buy-prozac.step.kh.ua/ cheap prozac] [http://xanax.w48.54.ru/ xanax] [http://adipex.w48.54.ru/ adipex online] [http://www.gotboredom.com/banner4/?phentermine/ buy phentermine] [http://rivotril.w48.54.ru/ rivotril online]
Talk:CIBC:Workshops:WorkshopCRC06
1
1051
1321
2006-06-16T17:10:59Z
CRA-NIH
38
Wikipedia to assess tools, programs, expertise, etc
wikitext
text/x-wiki
I'd like to propose to start a project for creating a Wikipedia to assess tools, programs, expertise, etc to follow up on the action items of Computing research challenges in biomedicine meeting.
Creating wikipedia is a more complicated project then just setting up a wiki. It requires a bit of data modeling, categorization and disambiguation work, keeping track of contributors and conflict resolution. However, having the entire community of interest to contribute to it has a promise of real value. Olga Brazhnik
3186
1321
2006-06-16T18:05:49Z
CRA-NIH
38
wikitext
text/x-wiki
I'd like to propose to start a project for creating a Wikipedia to assess tools, programs, expertise, etc to follow up on the action items of Computing research challenges in biomedicine meeting.
Creating wikipedia is a more complicated project then just setting up a wiki. It requires quite a bit of data modeling, categorization and disambiguation work, keeping track of contributors and conflict resolution. However, having the entire community of interest to contribute to it has a promise of real value. Collecting all this information in one place will allow us to start organizing the abundance and complexity of existing tools and systems into a meaningful body of resources and knowledge. Olga Brazhnik
File:CRA-NIH 2006 Workshop-Goals.ppt
6
1052
3187
2006-06-16T20:05:36Z
Erikj
2
CRA-NIH 2006 Workshop Overview and Goals slides.
wikitext
text/x-wiki
CRA-NIH 2006 Workshop Overview and Goals slides.
CIBC:Workshops:WorkshopCRC06
0
1036
1323
1322
2006-06-16T20:08:17Z
Erikj
2
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:CRA-NIH_2006_Participant_List.pdf|Participant List - CRA-NIH_2006_Participant_List.pdf]]
=== Workshop Overview and Goals Slides ===
* [[Media:CRA-NIH_2006_Workshop-Goals.ppt|Overview and Goals - CRA-NIH_2006_Workshop-Goals.ppt]]
=== Working Group Slides ===
* [[Media:CRA-NIH_2006_RedTeam.ppt|Red Team Slides - CRA-NIH_2006_RedTeam.ppt]]
* [[Media:CRA-NIH_2006_BlueTeam.ppt|Blue Team Slides - CRA-NIH_2006_BlueTeam.ppt]]
* [[Media:CRA-NIH_2006_GreenTeam.ppt|Green Team Slides - CRA-NIH_2006_GreenTeam.ppt]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
1324
1323
2006-06-17T19:43:46Z
Erikj
2
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:CRA-NIH_2006_Participant_List.pdf|Participant List - CRA-NIH_2006_Participant_List.pdf]]
=== Workshop Overview and Goals Slides ===
* [[Media:CRA-NIH_2006_Workshop-Goals.ppt|Overview and Goals - CRA-NIH_2006_Workshop-Goals.ppt]]
=== Workshop Presentations ===
* [[Media:CRA-NIH_2006_RedTeam.ppt|Chris Johnson's Presentation (Large 63MB) - CRA-NIH_2006_RedTeam.ppt]]
=== Working Group Slides ===
* [[Media:CRA-NIH_2006_RedTeam.ppt|Red Team Slides - CRA-NIH_2006_RedTeam.ppt]]
* [[Media:CRA-NIH_2006_BlueTeam.ppt|Blue Team Slides - CRA-NIH_2006_BlueTeam.ppt]]
* [[Media:CRA-NIH_2006_GreenTeam.ppt|Green Team Slides - CRA-NIH_2006_GreenTeam.ppt]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
1325
1324
2006-06-17T19:44:42Z
Erikj
2
/* Workshop Presentations */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:CRA-NIH_2006_Participant_List.pdf|Participant List - CRA-NIH_2006_Participant_List.pdf]]
=== Workshop Overview and Goals Slides ===
* [[Media:CRA-NIH_2006_Workshop-Goals.ppt|Overview and Goals - CRA-NIH_2006_Workshop-Goals.ppt]]
=== Workshop Presentations ===
* [[Media:CRA-NIH-Workshop06-Johnson.pdf|Chris Johnson's Presentation (Large 63MB) - CRA-NIH-Workshop06-Johnson.pdf]]
=== Working Group Slides ===
* [[Media:CRA-NIH_2006_RedTeam.ppt|Red Team Slides - CRA-NIH_2006_RedTeam.ppt]]
* [[Media:CRA-NIH_2006_BlueTeam.ppt|Blue Team Slides - CRA-NIH_2006_BlueTeam.ppt]]
* [[Media:CRA-NIH_2006_GreenTeam.ppt|Green Team Slides - CRA-NIH_2006_GreenTeam.ppt]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
1326
1325
2006-06-17T19:46:01Z
Erikj
2
/* Workshop Presentations */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:CRA-NIH_2006_Participant_List.pdf|Participant List - CRA-NIH_2006_Participant_List.pdf]]
=== Workshop Overview and Goals Slides ===
* [[Media:CRA-NIH_2006_Workshop-Goals.ppt|Overview and Goals - CRA-NIH_2006_Workshop-Goals.ppt]]
=== Workshop Presentations ===
* [[Media:CRA-NIH-Workshop06-Johnson.pdf|Chris Johnson's Presentation (Large 61MB) - CRA-NIH-Workshop06-Johnson.pdf]]
=== Working Group Slides ===
* [[Media:CRA-NIH_2006_RedTeam.ppt|Red Team Slides - CRA-NIH_2006_RedTeam.ppt]]
* [[Media:CRA-NIH_2006_BlueTeam.ppt|Blue Team Slides - CRA-NIH_2006_BlueTeam.ppt]]
* [[Media:CRA-NIH_2006_GreenTeam.ppt|Green Team Slides - CRA-NIH_2006_GreenTeam.ppt]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
1327
1326
2006-06-17T19:47:32Z
Erikj
2
/* Workshop Presentations */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:CRA-NIH_2006_Participant_List.pdf|Participant List - CRA-NIH_2006_Participant_List.pdf]]
=== Workshop Overview and Goals Slides ===
* [[Media:CRA-NIH_2006_Workshop-Goals.ppt|Overview and Goals - CRA-NIH_2006_Workshop-Goals.ppt]]
=== Workshop Presentations ===
* [[Media:CRA-NIH-Workshop06-Johnson.pdf|Chris Johnson's Presentation (Large 61MB) - CRA-NIH-Workshop06-Johnson.pdf]]
* Lee Hood's Presentation
* Jill Mesirov's Presentation
* Dan Reed's Presentation
=== Working Group Slides ===
* [[Media:CRA-NIH_2006_RedTeam.ppt|Red Team Slides - CRA-NIH_2006_RedTeam.ppt]]
* [[Media:CRA-NIH_2006_BlueTeam.ppt|Blue Team Slides - CRA-NIH_2006_BlueTeam.ppt]]
* [[Media:CRA-NIH_2006_GreenTeam.ppt|Green Team Slides - CRA-NIH_2006_GreenTeam.ppt]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
1349
1327
2006-06-22T04:15:35Z
Erikj
2
/* Workshop Presentations */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:CRA-NIH_2006_Participant_List.pdf|Participant List - CRA-NIH_2006_Participant_List.pdf]]
=== Workshop Overview and Goals Slides ===
* [[Media:CRA-NIH_2006_Workshop-Goals.ppt|Overview and Goals - CRA-NIH_2006_Workshop-Goals.ppt]]
=== Workshop Presentations ===
* [[Media:CRA-NIH-Workshop06-Johnson.pdf|Chris Johnson's Presentation (Large 61MB) - CRA-NIH-Workshop06-Johnson.pdf]]
* Lee Hood's Presentation
* Jill Mesirov's Presentation
* [[Media:CRA-NIH-Reed06.pdf|Dan Reed's Presentation (Large 15MB) - CRA-NIH-Reed06.pdf]]
=== Working Group Slides ===
* [[Media:CRA-NIH_2006_RedTeam.ppt|Red Team Slides - CRA-NIH_2006_RedTeam.ppt]]
* [[Media:CRA-NIH_2006_BlueTeam.ppt|Blue Team Slides - CRA-NIH_2006_BlueTeam.ppt]]
* [[Media:CRA-NIH_2006_GreenTeam.ppt|Green Team Slides - CRA-NIH_2006_GreenTeam.ppt]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
1359
1349
2006-07-25T17:36:46Z
Erikj
2
/* Participant List */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:CRA-NIH_2006_Participant_List.pdf|Participant List - CRA-NIH_2006_Participant_List.pdf]]
* [[Media:CRA-NIH_Workshop_Final_Registration_List_7-3-06.pdf|Final Registration List - CRA-NIH_Workshop_Final_Registration_List_7-3-06.pdf]]
=== Workshop Overview and Goals Slides ===
* [[Media:CRA-NIH_2006_Workshop-Goals.ppt|Overview and Goals - CRA-NIH_2006_Workshop-Goals.ppt]]
=== Workshop Presentations ===
* [[Media:CRA-NIH-Workshop06-Johnson.pdf|Chris Johnson's Presentation (Large 61MB) - CRA-NIH-Workshop06-Johnson.pdf]]
* Lee Hood's Presentation
* Jill Mesirov's Presentation
* [[Media:CRA-NIH-Reed06.pdf|Dan Reed's Presentation (Large 15MB) - CRA-NIH-Reed06.pdf]]
=== Working Group Slides ===
* [[Media:CRA-NIH_2006_RedTeam.ppt|Red Team Slides - CRA-NIH_2006_RedTeam.ppt]]
* [[Media:CRA-NIH_2006_BlueTeam.ppt|Blue Team Slides - CRA-NIH_2006_BlueTeam.ppt]]
* [[Media:CRA-NIH_2006_GreenTeam.ppt|Green Team Slides - CRA-NIH_2006_GreenTeam.ppt]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
Main Page
0
1
1365
1328
2006-06-22T15:46:26Z
Mjc
35
/* Technical Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:01_Feb_06 | February 1st, 2006]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
CIBC:Project:Power App
0
1053
1329
2006-06-22T15:54:32Z
Mjc
35
wikitext
text/x-wiki
afront generated surface meshes.
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
CAMAL mesher (2.5mins)
-------------------------------------------
Number of Tet elements checked = '''3000434'''
Euler characteristics for this mesh indicate 1 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
Condition: Low = 1.00002, Average = 1.2456, High = 592.311
Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031
Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
1330
1329
2006-06-22T15:55:18Z
Mjc
35
wikitext
text/x-wiki
afront generated surface meshes.
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
CAMAL mesher (2.5mins)
-------------------------------------------
Number of Tet elements checked = '''3000434'''
<nowiki>Euler characteristics for this mesh indicate 1 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
Condition: Low = 1.00002, Average = 1.2456, High = 592.311
Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031
Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1</nowiki>
1331
1330
2006-06-22T16:00:14Z
Mjc
35
wikitext
text/x-wiki
afront generated surface meshes.
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
CAMAL mesher (2.5mins)
-------------------------------------------
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
1332
1331
2006-06-22T16:07:33Z
Mjc
35
wikitext
text/x-wiki
==afront generated surfaces ==
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== CAMAL mesher (2.5 mins) ===
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
1333
1332
2006-06-22T16:12:01Z
Mjc
35
/* Images */
wikitext
text/x-wiki
==afront generated surfaces ==
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== CAMAL mesher (2.5 mins) ===
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
1334
1333
2006-06-22T16:24:50Z
Mjc
35
/* afront generated surfaces */
wikitext
text/x-wiki
==afront generated surfaces ==
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== Tetgen mesher -pq (35 mins) ===
* Number of Tet elements checked = '''3946715'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3946715 Faces: 7899982 Edges: 4618865 Nodes: 665599
* Aspect Ratio: Low = 1.00042, Average = 18.1245, High = 2.85619e+07
* Aspect Ratio (gamma): Low = 1.00115, Average = 2.3695, High = 10331.2
* Volume: Low = 1.74183e-07, Average = 5.20151, High = 13596.7
* Condition: Low = 1.00032, Average = 1.79882, High = 6265.48
* Jacobian: Low = 1.0451e-06, Average = 31.2091, High = 81579.9
* '''Scaled_Jacobian: Low = 6.51916e-05, Average = 0.361281, High = 0.990632'''
* Shape: Low = 0.00210906, Average = 0.638352, High = 0.999675
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== Tetgen mesher -p (2 mins) ===
=== CAMAL mesher (2.5 mins) ===
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
1335
1334
2006-06-22T16:27:42Z
Mjc
35
/* Tetgen mesher -p (2 mins) */
wikitext
text/x-wiki
==afront generated surfaces ==
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== Tetgen mesher -pq (35 mins) ===
* Number of Tet elements checked = '''3946715'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3946715 Faces: 7899982 Edges: 4618865 Nodes: 665599
* Aspect Ratio: Low = 1.00042, Average = 18.1245, High = 2.85619e+07
* Aspect Ratio (gamma): Low = 1.00115, Average = 2.3695, High = 10331.2
* Volume: Low = 1.74183e-07, Average = 5.20151, High = 13596.7
* Condition: Low = 1.00032, Average = 1.79882, High = 6265.48
* Jacobian: Low = 1.0451e-06, Average = 31.2091, High = 81579.9
* '''Scaled_Jacobian: Low = 6.51916e-05, Average = 0.361281, High = 0.990632'''
* Shape: Low = 0.00210906, Average = 0.638352, High = 0.999675
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== Tetgen mesher -p (2 mins) ===
* Number of Tet elements checked = '''863822'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 863822 Faces: 1734219 Edges: 1008243 Nodes: 137847
* Aspect Ratio: Low = 1.00074, Average = 15.9771, High = 1.76352e+06
* Aspect Ratio (gamma): Low = 1.00159, Average = 37.1708, High = 151366
* Volume: Low = 1.20267e-07, Average = 23.7652, High = 66401.5
* Condition: Low = 1.00062, Average = 5.98279, High = 8885.71
* Jacobian: Low = 7.216e-07, Average = 142.591, High = 398409
* '''Scaled_Jacobian: Low = 2.33833e-06, Average = 0.163848, High = 0.980264'''
* Shape: Low = 0.000352241, Average = 0.343499, High = 0.99938
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
1336
1335
2006-06-22T16:48:16Z
Mjc
35
/* Tetgen mesher -pq (35 mins) */
wikitext
text/x-wiki
==afront generated surfaces ==
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pq (35 mins) ===
* Number of Tet elements checked = '''3946715'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3946715 Faces: 7899982 Edges: 4618865 Nodes: 665599
* Aspect Ratio: Low = 1.00042, Average = 18.1245, High = 2.85619e+07
* Aspect Ratio (gamma): Low = 1.00115, Average = 2.3695, High = 10331.2
* Volume: Low = 1.74183e-07, Average = 5.20151, High = 13596.7
* Condition: Low = 1.00032, Average = 1.79882, High = 6265.48
* Jacobian: Low = 1.0451e-06, Average = 31.2091, High = 81579.9
* '''Scaled_Jacobian: Low = 6.51916e-05, Average = 0.361281, High = 0.990632'''
* Shape: Low = 0.00210906, Average = 0.638352, High = 0.999675
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== Tetgen mesher -p (2 mins) ===
* Number of Tet elements checked = '''863822'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 863822 Faces: 1734219 Edges: 1008243 Nodes: 137847
* Aspect Ratio: Low = 1.00074, Average = 15.9771, High = 1.76352e+06
* Aspect Ratio (gamma): Low = 1.00159, Average = 37.1708, High = 151366
* Volume: Low = 1.20267e-07, Average = 23.7652, High = 66401.5
* Condition: Low = 1.00062, Average = 5.98279, High = 8885.71
* Jacobian: Low = 7.216e-07, Average = 142.591, High = 398409
* '''Scaled_Jacobian: Low = 2.33833e-06, Average = 0.163848, High = 0.980264'''
* Shape: Low = 0.000352241, Average = 0.343499, High = 0.99938
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
1337
1336
2006-06-22T16:48:24Z
Mjc
35
/* Tetgen mesher -p (2 mins) */
wikitext
text/x-wiki
==afront generated surfaces ==
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pq (35 mins) ===
* Number of Tet elements checked = '''3946715'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3946715 Faces: 7899982 Edges: 4618865 Nodes: 665599
* Aspect Ratio: Low = 1.00042, Average = 18.1245, High = 2.85619e+07
* Aspect Ratio (gamma): Low = 1.00115, Average = 2.3695, High = 10331.2
* Volume: Low = 1.74183e-07, Average = 5.20151, High = 13596.7
* Condition: Low = 1.00032, Average = 1.79882, High = 6265.48
* Jacobian: Low = 1.0451e-06, Average = 31.2091, High = 81579.9
* '''Scaled_Jacobian: Low = 6.51916e-05, Average = 0.361281, High = 0.990632'''
* Shape: Low = 0.00210906, Average = 0.638352, High = 0.999675
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -p (2 mins) ===
* Number of Tet elements checked = '''863822'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 863822 Faces: 1734219 Edges: 1008243 Nodes: 137847
* Aspect Ratio: Low = 1.00074, Average = 15.9771, High = 1.76352e+06
* Aspect Ratio (gamma): Low = 1.00159, Average = 37.1708, High = 151366
* Volume: Low = 1.20267e-07, Average = 23.7652, High = 66401.5
* Condition: Low = 1.00062, Average = 5.98279, High = 8885.71
* Jacobian: Low = 7.216e-07, Average = 142.591, High = 398409
* '''Scaled_Jacobian: Low = 2.33833e-06, Average = 0.163848, High = 0.980264'''
* Shape: Low = 0.000352241, Average = 0.343499, High = 0.99938
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
1338
1337
2006-06-26T21:33:05Z
Mjc
35
/* TetGen mesher -pq (35 mins) */
wikitext
text/x-wiki
==afront generated surfaces ==
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -p (2 mins) ===
* Number of Tet elements checked = '''863822'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 863822 Faces: 1734219 Edges: 1008243 Nodes: 137847
* Aspect Ratio: Low = 1.00074, Average = 15.9771, High = 1.76352e+06
* Aspect Ratio (gamma): Low = 1.00159, Average = 37.1708, High = 151366
* Volume: Low = 1.20267e-07, Average = 23.7652, High = 66401.5
* Condition: Low = 1.00062, Average = 5.98279, High = 8885.71
* Jacobian: Low = 7.216e-07, Average = 142.591, High = 398409
* '''Scaled_Jacobian: Low = 2.33833e-06, Average = 0.163848, High = 0.980264'''
* Shape: Low = 0.000352241, Average = 0.343499, High = 0.99938
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
1339
1338
2006-06-26T21:36:48Z
Mjc
35
/* afront generated surfaces */
wikitext
text/x-wiki
==afront generated surfaces ==
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
1340
1339
2006-06-26T21:41:18Z
Mjc
35
/* CAMAL mesher (2.5 mins) */
wikitext
text/x-wiki
==afront generated surfaces ==
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
'''Note:''' ''This is mostly innacurate, This code does not mesh the inside of the interior structures, so I will need to mesh those separately and merge the meshes using the GatherFields module. The following most likely applies from the torso boundary to the interior structures.''
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
1341
1340
2006-06-27T15:58:34Z
Mjc
35
/* afront generated surfaces */
wikitext
text/x-wiki
==afront generated surfaces ==
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
'''Note:''' ''This is mostly innacurate, This code does not mesh the inside of the interior structures, so I will need to mesh those separately and merge the meshes using the GatherFields module. The following most likely applies from the torso boundary to the interior structures.''
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
1342
1341
2006-06-27T15:58:53Z
Mjc
35
/* TetGen mesher -pq1.0AAa200.0z (30 mins) */
wikitext
text/x-wiki
==afront generated surfaces ==
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
'''Note:''' ''This is mostly innacurate, This code does not mesh the inside of the interior structures, so I will need to mesh those separately and merge the meshes using the GatherFields module. The following most likely applies from the torso boundary to the interior structures.''
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
1343
1342
2006-06-27T19:38:19Z
Mjc
35
/* afront generated surfaces */
wikitext
text/x-wiki
==afront generated surfaces ==
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
'''Note:''' ''This is mostly innacurate, This code does not mesh the inside of the interior structures, so I will need to mesh those separately and merge the meshes using the GatherFields module. The following most likely applies from the torso boundary to the interior structures.''
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
==marching cubes (SCIRun isosurface module) generated surfaces ==
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:mc-body.png]]
[[Image:mc-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (1:35 hours) ===
1344
1343
2006-06-27T19:41:48Z
Mjc
35
/* marching cubes (SCIRun isosurface module) generated surfaces */
wikitext
text/x-wiki
==afront generated surfaces ==
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
'''Note:''' ''This is mostly innacurate, This code does not mesh the inside of the interior structures, so I will need to mesh those separately and merge the meshes using the GatherFields module. The following most likely applies from the torso boundary to the interior structures.''
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=marching cubes (SCIRun isosurface module) generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:mc-body.png]]
[[Image:mc-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (1:35 hours) ===
1345
1344
2006-06-27T19:42:04Z
Mjc
35
/* afront generated surfaces */
wikitext
text/x-wiki
=afront generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
'''Note:''' ''This is mostly innacurate, This code does not mesh the inside of the interior structures, so I will need to mesh those separately and merge the meshes using the GatherFields module. The following most likely applies from the torso boundary to the interior structures.''
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=marching cubes (SCIRun isosurface module) generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:mc-body.png]]
[[Image:mc-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (1:35 hours) ===
1346
1345
2006-06-27T19:45:49Z
Mjc
35
/* marching cubes (SCIRun isosurface module) generated surfaces */
wikitext
text/x-wiki
=afront generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
'''Note:''' ''This is mostly innacurate, This code does not mesh the inside of the interior structures, so I will need to mesh those separately and merge the meshes using the GatherFields module. The following most likely applies from the torso boundary to the interior structures.''
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=marching cubes (SCIRun isosurface module) generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
At this time I cannot get a FE mesh generated including the Heart surface, but below are the results for torso boundary, bones, and lungs. The results are still an interesting comparison.
=== Images ===
[[Image:mc-body.png]]
[[Image:mc-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (1:35 hours) ===
1347
1346
2006-06-27T19:47:18Z
Mjc
35
/* marching cubes (SCIRun isosurface module) generated surfaces */
wikitext
text/x-wiki
=afront generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
'''Note:''' ''This is mostly innacurate, This code does not mesh the inside of the interior structures, so I will need to mesh those separately and merge the meshes using the GatherFields module. The following most likely applies from the torso boundary to the interior structures.''
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=marching cubes (SCIRun isosurface module) generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
At this time I cannot get a FE mesh generated including the Heart surface, (probably because the heart surface intersects the lungs somewhere) but below are the results for torso boundary, bones, and lungs. The results are still an interesting comparison.
=== Images ===
[[Image:mc-body.png]]
[[Image:mc-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (1:35 hours) ===
3188
1347
2006-06-27T19:55:40Z
Mjc
35
/* TetGen mesher -pqAAa200.0z (1:35 hours) */
wikitext
text/x-wiki
=afront generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (2.5 mins) ===
'''Note:''' ''This is mostly innacurate, This code does not mesh the inside of the interior structures, so I will need to mesh those separately and merge the meshes using the GatherFields module. The following most likely applies from the torso boundary to the interior structures.''
* Number of Tet elements checked = '''3000434'''
* Euler characteristics for this mesh indicate 1 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3000434 Faces: 6050939 Edges: 3576764 Nodes: 526259
* Aspect Ratio: Low = 1.00002, Average = 1.53629, High = 277395
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37812, High = 1242.68
* Volume: Low = 3.15534e-06, Average = 5.72325, High = 1093.85
* Condition: Low = 1.00002, Average = 1.2456, High = 592.311
* Jacobian: Low = 1.8932e-05, Average = 34.3395, High = 6563.09
* '''Scaled_Jacobian: Low = 0.000358669, Average = 0.616211, High = 0.997031'''
* Shape: Low = 0.00865538, Average = 0.828331, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=marching cubes (SCIRun isosurface module) generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
At this time I cannot get a FE mesh generated including the Heart surface, (probably because the heart surface intersects the lungs somewhere) but below are the results for torso boundary, bones, and lungs. The results are still an interesting comparison.
=== Images ===
[[Image:mc-body.png]]
[[Image:mc-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (1:35 hours) ===
* Number of Tet elements checked = '''14300408'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 14300408 Faces: 29156724 Edges: 17524972 Nodes: 2668657
* Aspect Ratio: Low = 1.00006, Average = 1.06422e+21, High = 1.45221e+28
* Aspect Ratio (gamma): Low = 1.00073, Average = 3.44334e+07, High = 3.81639e+14
* Volume: Low = 3.83988e-19, Average = 1.4405, High = 266.872
* Condition: Low = 1.00005, Average = 1.9262e+07, High = 2.33327e+14
* Jacobian: Low = 2.30393e-18, Average = 8.64298, High = 1601.23
* '''Scaled_Jacobian: Low = 1.40881e-15, Average = 0.37441, High = 0.995652'''
* Shape: Low = 1.90147e-10, Average = 0.635895, High = 0.999953
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
File:Afront-body.png
6
1054
3189
2006-06-22T16:09:17Z
Mjc
35
wikitext
text/x-wiki
File:Afront-body-inner.png
6
1055
3190
2006-06-22T16:10:50Z
Mjc
35
wikitext
text/x-wiki
File:Mc-body.png
6
1056
3191
2006-06-27T19:39:06Z
Mjc
35
wikitext
text/x-wiki
File:Mc-body-inner.png
6
1057
3192
2006-06-27T19:39:33Z
Mjc
35
wikitext
text/x-wiki
CIBC:Project:Triedman
0
1008
3129
1348
2006-07-06T15:20:40Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Progress Summary ==
For current development visit the Cardio-MDC site, contact Matt Jolley for access
'''Segmentation:''' 3D Slicer, SCIRun app ''under development''
'''Automated Segmentation:''' ''Under development''
'''Meshing:''' Voxel based working, tetmeshing beta modules(CAMAL/tetgen), Mesquite/Verdict beta modules, ''under development''
'''Electrode Insertion:''' Beta module, unstable, ''Under development''
'''Modeling: ''' ''Under development''
== Introduction ==
This is a wiki designed for facilitating communication in the development of individual tools for solving the the volume conductor problem in medical imaging based datasets with an eye toward modeling defibrillation in children. For an overview of the project please look to our [http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Collab:Triedman collaboration wiki].
== Events ==
[[2/10/06 Meeting with SPL Segmentation folks]]
[[3/1/06 Collaboration formalized and grant submitted to CIMIT for further work]]
[[4/20/06 CIBC Workshop]]
== Segmentation ==
Existing segmentations: 10 kg, 40 kg, 15 kg partial
SPL: We will attempt to apply level set techniques with Dr. Westin's group and adapt algorithms developed by Kilian Pohl.
SCIRun: McKay Davis and Josh Cates at SCI are also creating a segmentation powerapp which was demoed at the CIBC conference in April. It currently lacks a GUI but renders the evolving 3D segmentation in real time and will be very useful. Josh worked to develop ITK and many of the segmentation alorithms available in ITK will be added as useful.
Atlas: Once ~ 5 segmentations have been done we can possibly employ atlas based techniques with Dr. Westin and Dr. Warfield.
Data: Hoping to obtain 64 detector CT scans of children for improved ease of segmentation secondary to increased tissue differentiation.
== Meshing ==
Currently using simple voxel based meshing created in SCIRun.
As detailed at the CIBC workshop, tetgen and CAMAL are both working as mesh generators, with tetgen appearing to be the better tool. The latest version of CAMAL has been behaving strangely. MESQUITE is being integrated to allow variable density meshing and mesh smoothing. VERDICT is being implemented to allow mesh quality assessment. Together this should provide a complete set of tools that takes models from NRRDs to tetrahedral SCIRun meshes which will benefit many researchers, including the MEG group at UCSF.
== Electrode Insertion/Adaptive Remeshing ==
Dave Weinstein has built modules which allow the insertion of arbitrarily shaped linear and planar fields into an existing mesh with adaptive remeshing. It is currently crashes, but anticipate progress.
[http://www.sci.utah.edu/ncrr/wiki/index.php/CIBC:Project:MeshRefinement Electrode Insertion in Volume Conductor]
== FEM Modeling ==
The end result of the process above is the possibility of patient specific modeling of internal defibrillation in children.
Functional nets and datasets available on the xythos site.
User:Rboyer
2
1058
3169
2006-07-11T19:43:03Z
Rboyer
40
wikitext
text/x-wiki
Johns Hopkins University BME
File:CRA-NIH Workshop Final Registration List 7-3-06.pdf
6
1059
3170
2006-07-25T17:33:39Z
Erikj
2
CRA-NIH 2006 Workshop
Final Registration List - 7/3/06
wikitext
text/x-wiki
CRA-NIH 2006 Workshop
Final Registration List - 7/3/06
User:Toly
2
1060
3193
2006-08-01T22:33:05Z
Erikj
2
wikitext
text/x-wiki
I am working part time at SCI on a mouse gene project where we compare hand bones of wild types to mutated mice. I'm also an undergrad in the computer science program and a math double major.
CIBC:Project:NCMIR
0
1061
1350
2006-08-21T17:46:58Z
Cates
4
wikitext
text/x-wiki
== Overview ==
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
1351
1350
2006-08-21T17:52:25Z
Cates
4
wikitext
text/x-wiki
== Overview ==
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Design ==
=== Data Flow ===
[[Image:dataflow.png]]
1352
1351
2006-08-21T17:53:33Z
Cates
4
wikitext
text/x-wiki
== Overview ==
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Design ==
=== Data Flow ===
[[Image:dataflow.png|400px]]
1353
1352
2006-08-21T17:55:31Z
Cates
4
wikitext
text/x-wiki
== Overview ==
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
== Schedule ==
== Design ==
=== Data Flow ===
[[Image:dataflow.png|400px]]
1354
1353
2006-08-21T19:39:25Z
Cates
4
wikitext
text/x-wiki
== Overview ==
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Schedule ==
== Design ==
=== Data Flow ===
[[Image:dataflow.png|400px]]
1355
1354
2006-08-21T19:39:53Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
== Schedule ==
== Design ==
=== Data Flow ===
[[Image:dataflow.png|400px]]
1356
1355
2006-08-21T19:41:30Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.jpg|400px]]
== Schedule ==
== Design ==
=== Data Flow ===
[[Image:dataflow.png|400px]]
1357
1356
2006-08-21T19:41:56Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|400px]]
== Schedule ==
== Design ==
=== Data Flow ===
[[Image:dataflow.png|400px]]
File:Dataflow.png
6
1062
3195
2006-08-21T17:51:11Z
Cates
4
Data flow diagram for the NCRR segmentation application.
wikitext
text/x-wiki
Data flow diagram for the NCRR segmentation application.
File:Biopainter.png
6
1063
3196
2006-08-21T19:40:46Z
Cates
4
wikitext
text/x-wiki
File:Screenshot08.png
6
1064
3197
2006-08-22T16:42:01Z
Cates
4
wikitext
text/x-wiki
File:Screenshot10.png
6
1065
3198
2006-08-22T16:42:33Z
Cates
4
wikitext
text/x-wiki
CIBC:Project:NCMIR
0
1061
1358
1357
2006-08-22T16:43:35Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|400px]]
[[Image:Screenshot08.png|400px]]
[[Image:Screenshot10.png|400px]]
== Schedule ==
== Design ==
=== Data Flow ===
[[Image:dataflow.png|400px]]
1360
1358
2006-08-22T16:57:22Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
1361
1360
2006-08-29T17:55:00Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 12/31/2005 Tentative release date for general Alpha release (see release notes below)
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
===
1362
1361
2006-08-29T18:14:11Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 12/31/2005 Tentative release date for general Alpha release (see release notes below)
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== Ontology-guided Contouring ===
1363
1362
2006-08-29T18:21:37Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 10/??/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 12/31/2005 Tentative release date for general Alpha release (see release notes below)
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== Ontology-guided Contouring ===
1364
1363
2006-08-29T18:22:23Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/??/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 12/31/2005 Tentative release date for general Alpha release (see release notes below)
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== Ontology-guided Contouring ===
1387
1364
2006-08-29T18:24:19Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/??/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== Ontology-guided Contouring ===
1388
1387
2006-09-13T19:14:58Z
Cates
4
/* Schedule */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== Ontology-guided Contouring ===
1390
1388
2006-09-13T19:18:35Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== Ontology-guided Contouring ===
1432
1390
2006-09-13T19:28:05Z
Cates
4
/* Limited NCMIR Release */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== Ontology-guided Contouring ===
CIBC:Workshops:WorkshopCRC06
0
1036
3172
1359
2006-08-23T00:03:53Z
Erikj
2
/* Workshop Presentations */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focuses on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop will address these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants will consist of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop is not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:CRA-NIH_2006_Participant_List.pdf|Participant List - CRA-NIH_2006_Participant_List.pdf]]
* [[Media:CRA-NIH_Workshop_Final_Registration_List_7-3-06.pdf|Final Registration List - CRA-NIH_Workshop_Final_Registration_List_7-3-06.pdf]]
=== Workshop Overview and Goals Slides ===
* [[Media:CRA-NIH_2006_Workshop-Goals.ppt|Overview and Goals - CRA-NIH_2006_Workshop-Goals.ppt]]
=== Workshop Presentations ===
* [[Media:CRA-NIH-Workshop06-Johnson.pdf|Chris Johnson's Presentation (Large 61MB) - CRA-NIH-Workshop06-Johnson.pdf]]
* Lee Hood's Presentation
* [[Media:NIH_CRA_june06.pdf|Jill Mesirov's Presentation (Large 27MB) - NIH_CRA_june06.pdf]]
* [[Media:CRA-NIH-Reed06.pdf|Dan Reed's Presentation (Large 15MB) - CRA-NIH-Reed06.pdf]]
=== Working Group Slides ===
* [[Media:CRA-NIH_2006_RedTeam.ppt|Red Team Slides - CRA-NIH_2006_RedTeam.ppt]]
* [[Media:CRA-NIH_2006_BlueTeam.ppt|Blue Team Slides - CRA-NIH_2006_BlueTeam.ppt]]
* [[Media:CRA-NIH_2006_GreenTeam.ppt|Green Team Slides - CRA-NIH_2006_GreenTeam.ppt]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
Main Page
0
1
1371
1365
2006-09-06T22:13:51Z
Jeroen
19
/* Meetings */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1374
1371
2006-09-12T14:19:41Z
Mjc
35
/* Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | The cibc svn branch]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1394
1374
2006-09-12T14:35:29Z
Mjc
35
/* Development Info */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | The CIBC svn branch]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1395
1394
2006-10-02T15:23:26Z
Mjc
35
/* Development Info */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | CIBC developer information]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1400
1395
2006-10-02T15:24:11Z
Mjc
35
/* Development Info */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1401
1400
2006-10-10T16:16:57Z
Mjc
35
/* Development Info */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:svn | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1430
1401
2006-10-10T16:17:24Z
Mjc
35
/* Development Info */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
CIBC:Meetings:Management:Agenda
0
1066
1366
2006-09-06T22:31:15Z
Jeroen
19
wikitext
text/x-wiki
= Continous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig Collaboration ==
=== Recent Progress ===
-
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Ellisman Collaboration ==
== Capecchi Collaboration ==
== SCIRun Release ==
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editting
b) freeing up time to do Release
=== Michael ===
a) MeshSmoother interface
b) MeshQuality interface
c) freeing up time to do Release
=== McKay ===
=== Darby ===
1367
1366
2006-09-06T22:33:38Z
Jeroen
19
/* Marty */
wikitext
text/x-wiki
= Continous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig Collaboration ==
=== Recent Progress ===
-
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Ellisman Collaboration ==
== Capecchi Collaboration ==
== SCIRun Release ==
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) freeing up time to do Release
=== Michael ===
a) MeshSmoother interface
b) MeshQuality interface
c) freeing up time to do Release
=== McKay ===
=== Darby ===
1368
1367
2006-09-06T22:33:51Z
Jeroen
19
/* Michael */
wikitext
text/x-wiki
= Continous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig Collaboration ==
=== Recent Progress ===
-
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Ellisman Collaboration ==
== Capecchi Collaboration ==
== SCIRun Release ==
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) freeing up time to do Release
=== Michael ===
a) MeshSmoother interface
b) MeshQuality interface
c) freeing up time to do Release
=== McKay ===
=== Darby ===
1369
1368
2006-09-08T19:31:14Z
Jeroen
19
/* SCIRun Release */
wikitext
text/x-wiki
= Continous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig Collaboration ==
=== Recent Progress ===
-
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Ellisman Collaboration ==
== Capecchi Collaboration ==
== SCIRun Release ==
* Marty will fix left over bugs from Loni
* Michael will help Darby getting CMake to work
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) freeing up time to do Release
=== Michael ===
a) MeshSmoother interface
b) MeshQuality interface
c) freeing up time to do Release
=== McKay ===
=== Darby ===
1370
1369
2006-09-08T19:31:49Z
Jeroen
19
/* Marty */
wikitext
text/x-wiki
= Continous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig Collaboration ==
=== Recent Progress ===
-
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Ellisman Collaboration ==
== Capecchi Collaboration ==
== SCIRun Release ==
* Marty will fix left over bugs from Loni
* Michael will help Darby getting CMake to work
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Fixing SCIRun loading and saving of networks (bugs from switch to XML)
=== Michael ===
a) MeshSmoother interface
b) MeshQuality interface
c) freeing up time to do Release
=== McKay ===
=== Darby ===
1380
1370
2006-09-08T19:33:04Z
Jeroen
19
/* Developers */
wikitext
text/x-wiki
= Continous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig Collaboration ==
=== Recent Progress ===
-
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Ellisman Collaboration ==
== Capecchi Collaboration ==
== SCIRun Release ==
* Marty will fix left over bugs from Loni
* Michael will help Darby getting CMake to work
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Fixing SCIRun loading and saving of networks (bugs from switch to XML)
=== Michael ===
a) MeshSmoother interface
b) MeshQuality interface
c) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
1381
1380
2006-09-12T22:36:49Z
Jeroen
19
/* Michael */
wikitext
text/x-wiki
= Continous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig Collaboration ==
=== Recent Progress ===
-
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Ellisman Collaboration ==
== Capecchi Collaboration ==
== SCIRun Release ==
* Marty will fix left over bugs from Loni
* Michael will help Darby getting CMake to work
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Fixing SCIRun loading and saving of networks (bugs from switch to XML)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Fixing module code to use send_output_handle / get_input_handle
c) Fixing warnings in the code so we can use -Wall (better code practice)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
1382
1381
2006-09-12T22:40:52Z
Jeroen
19
/* Makeig Collaboration */
wikitext
text/x-wiki
= Continous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Ellisman Collaboration ==
== Capecchi Collaboration ==
== SCIRun Release ==
* Marty will fix left over bugs from Loni
* Michael will help Darby getting CMake to work
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Fixing SCIRun loading and saving of networks (bugs from switch to XML)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Fixing module code to use send_output_handle / get_input_handle
c) Fixing warnings in the code so we can use -Wall (better code practice)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
1383
1382
2006-09-12T22:42:17Z
Jeroen
19
/* Makeig/Worrell Collaboration */
wikitext
text/x-wiki
= Continous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
Short term goal:
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
== Capecchi Collaboration ==
== SCIRun Release ==
* Marty will fix left over bugs from Loni
* Michael will help Darby getting CMake to work
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Fixing SCIRun loading and saving of networks (bugs from switch to XML)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Fixing module code to use send_output_handle / get_input_handle
c) Fixing warnings in the code so we can use -Wall (better code practice)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
1384
1383
2006-09-12T22:42:38Z
Jeroen
19
/* Development to do for developers */
wikitext
text/x-wiki
= Continous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
== Capecchi Collaboration ==
== SCIRun Release ==
* Marty will fix left over bugs from Loni
* Michael will help Darby getting CMake to work
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Fixing SCIRun loading and saving of networks (bugs from switch to XML)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Fixing module code to use send_output_handle / get_input_handle
c) Fixing warnings in the code so we can use -Wall (better code practice)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
1385
1384
2006-09-12T22:44:16Z
Jeroen
19
/* Continous Collaborator/Developer Agenda */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
== Capecchi Collaboration ==
== SCIRun Release ==
* Marty will fix left over bugs from Loni
* Michael will help Darby getting CMake to work
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Fixing SCIRun loading and saving of networks (bugs from switch to XML)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Fixing module code to use send_output_handle / get_input_handle
c) Fixing warnings in the code so we can use -Wall (better code practice)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
1386
1385
2006-09-13T18:14:42Z
Cates
4
/* Ellisman Collaboration */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
Please see [[CIBC:Project:NCMIR]]
== Capecchi Collaboration ==
== SCIRun Release ==
* Marty will fix left over bugs from Loni
* Michael will help Darby getting CMake to work
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Fixing SCIRun loading and saving of networks (bugs from switch to XML)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Fixing module code to use send_output_handle / get_input_handle
c) Fixing warnings in the code so we can use -Wall (better code practice)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
1389
1386
2006-09-13T18:24:22Z
Cates
4
/* Capecchi Collaboration */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
Please see [[CIBC:Project:NCMIR]]
== Capecchi Collaboration ==
Overview: We are generating data for 2 papers. The first will be a comparison with the original bone length study from the Capecchi lab using our semi-automated techniques. The second paper will be a shape study using our shape tools. We have several students working on the necessary segmentations. Josh is working on shape analysis library and research.
Current Hox D11 work
* Zach, Lance, and Toly are currently working on bone segmentations.
* Zach is breeding new mutants: we need approx 3-4 more mutant scans and 3-4 more wild type scans for a total of 17 each. This will replicate the number used in the original, manual length measurement paper. Estimated we can scan the new mutants in December.
* Toly has length measurement software up and running and processing segmentations as we get them.
* Preliminary results show good agreement in relative bone length of mutant vs. wild.
* Targeting first publication for early 2007: this paper will be a bone length study comparing
* May use this project to beta test the NCMIR segmentation app when manual features ready.
Current Shape Analysis work
* Josh is working on a particle system library of code for use in shape analysis and surface visualization.
* Josh/Ross/Tom pursuing research in new methods for shape analysis. Josh preparing talk for Mathematical Foundations of Computational Anatomy Workshop at MICCAI 2006.
== SCIRun Release ==
* Marty will fix left over bugs from Loni
* Michael will help Darby getting CMake to work
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Fixing SCIRun loading and saving of networks (bugs from switch to XML)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Fixing module code to use send_output_handle / get_input_handle
c) Fixing warnings in the code so we can use -Wall (better code practice)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
1396
1389
2006-09-13T19:21:14Z
Cates
4
/* Capecchi Collaboration */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
Please see [[CIBC:Project:NCMIR]]
== Capecchi Collaboration ==
Overview: We are generating data for 2 papers. The first will be a comparison with the original bone length study from the Capecchi lab using our semi-automated techniques. The second paper will be a shape study using our shape tools. We have several students working on the necessary segmentations. Josh is working on shape analysis library and research.
Current Hox D11 work
* Zach, Lance, and Toly are currently working on bone segmentations.
* Zach is breeding new mutants: we need approx 3-4 more mutant scans and 3-4 more wild type scans for a total of 17 each. This will replicate the number used in the original, manual length measurement paper. Estimated we can scan the new mutants in December.
* Toly has length measurement software up and running and processing segmentations as we get them.
* Preliminary results show good agreement in relative bone length of mutant vs. wild.
* Targeting first publication for early 2007: this paper will be a bone length study comparing
* May use this project to beta test the NCMIR segmentation app when manual features ready.
Current Shape Analysis work
* Josh is working on a particle system library of code for use in shape analysis and surface visualization.
* Josh/Ross/Tom pursuing research in new methods for shape analysis. Josh preparing talk for Mathematical Foundations of Computational Anatomy Workshop at MICCAI 2006.
Notes
9/11/06 - 9/29/06 Josh cranks on particle system code & MICCAI Talk. Otherwise, continue breeding and segmenting. Possible wild-type scanning work.
== SCIRun Release ==
* Marty will fix left over bugs from Loni
* Michael will help Darby getting CMake to work
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Fixing SCIRun loading and saving of networks (bugs from switch to XML)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Fixing module code to use send_output_handle / get_input_handle
c) Fixing warnings in the code so we can use -Wall (better code practice)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
1397
1396
2006-10-04T15:38:50Z
Jeroen
19
/* Developers */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
Please see [[CIBC:Project:NCMIR]]
== Capecchi Collaboration ==
Overview: We are generating data for 2 papers. The first will be a comparison with the original bone length study from the Capecchi lab using our semi-automated techniques. The second paper will be a shape study using our shape tools. We have several students working on the necessary segmentations. Josh is working on shape analysis library and research.
Current Hox D11 work
* Zach, Lance, and Toly are currently working on bone segmentations.
* Zach is breeding new mutants: we need approx 3-4 more mutant scans and 3-4 more wild type scans for a total of 17 each. This will replicate the number used in the original, manual length measurement paper. Estimated we can scan the new mutants in December.
* Toly has length measurement software up and running and processing segmentations as we get them.
* Preliminary results show good agreement in relative bone length of mutant vs. wild.
* Targeting first publication for early 2007: this paper will be a bone length study comparing
* May use this project to beta test the NCMIR segmentation app when manual features ready.
Current Shape Analysis work
* Josh is working on a particle system library of code for use in shape analysis and surface visualization.
* Josh/Ross/Tom pursuing research in new methods for shape analysis. Josh preparing talk for Mathematical Foundations of Computational Anatomy Workshop at MICCAI 2006.
Notes
9/11/06 - 9/29/06 Josh cranks on particle system code & MICCAI Talk. Otherwise, continue breeding and segmenting. Possible wild-type scanning work.
== SCIRun Release ==
* Marty will fix left over bugs from Loni
* Michael will help Darby getting CMake to work
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Fixing module code to use send_output_handle / get_input_handle
c) Fixing warnings in the code so we can use -Wall (better code practice)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
1398
1397
2006-10-04T15:54:12Z
Jeroen
19
/* SCIRun Release */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
Please see [[CIBC:Project:NCMIR]]
== Capecchi Collaboration ==
Overview: We are generating data for 2 papers. The first will be a comparison with the original bone length study from the Capecchi lab using our semi-automated techniques. The second paper will be a shape study using our shape tools. We have several students working on the necessary segmentations. Josh is working on shape analysis library and research.
Current Hox D11 work
* Zach, Lance, and Toly are currently working on bone segmentations.
* Zach is breeding new mutants: we need approx 3-4 more mutant scans and 3-4 more wild type scans for a total of 17 each. This will replicate the number used in the original, manual length measurement paper. Estimated we can scan the new mutants in December.
* Toly has length measurement software up and running and processing segmentations as we get them.
* Preliminary results show good agreement in relative bone length of mutant vs. wild.
* Targeting first publication for early 2007: this paper will be a bone length study comparing
* May use this project to beta test the NCMIR segmentation app when manual features ready.
Current Shape Analysis work
* Josh is working on a particle system library of code for use in shape analysis and surface visualization.
* Josh/Ross/Tom pursuing research in new methods for shape analysis. Josh preparing talk for Mathematical Foundations of Computational Anatomy Workshop at MICCAI 2006.
Notes
9/11/06 - 9/29/06 Josh cranks on particle system code & MICCAI Talk. Otherwise, continue breeding and segmenting. Possible wild-type scanning work.
== SCIRun Release ==
* Still waiting for new naming convention (We need this in place as well to merge in ModelCreation)
* CMake conversion is going slower than planned (issues with dynamic compilation and packages)
* Fixing filename conventions (proposal we allow the user to save filenames relative to the network and build in a converter from WIndows naming convention to Unix naming convention and backwards )
* We blocked all editing while running a network (Allowing editing and making networks run fine turns out to be a hugh task for the developers.) This way users should not be able to crash SCIRun this way
* Currently configure is broken and CMAKE is not fully functional.
* No progress yet on documentation
* Do we want to merge thirdparty into the main branch. It would be nice if users just download CMAKE and then run ccmake . and thirdparty builds automatically.
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Fixing module code to use send_output_handle / get_input_handle
c) Fixing warnings in the code so we can use -Wall (better code practice)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
1402
1398
2006-10-04T17:22:04Z
Jeroen
19
/* SCIRun Release */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
Please see [[CIBC:Project:NCMIR]]
== Capecchi Collaboration ==
Overview: We are generating data for 2 papers. The first will be a comparison with the original bone length study from the Capecchi lab using our semi-automated techniques. The second paper will be a shape study using our shape tools. We have several students working on the necessary segmentations. Josh is working on shape analysis library and research.
Current Hox D11 work
* Zach, Lance, and Toly are currently working on bone segmentations.
* Zach is breeding new mutants: we need approx 3-4 more mutant scans and 3-4 more wild type scans for a total of 17 each. This will replicate the number used in the original, manual length measurement paper. Estimated we can scan the new mutants in December.
* Toly has length measurement software up and running and processing segmentations as we get them.
* Preliminary results show good agreement in relative bone length of mutant vs. wild.
* Targeting first publication for early 2007: this paper will be a bone length study comparing
* May use this project to beta test the NCMIR segmentation app when manual features ready.
Current Shape Analysis work
* Josh is working on a particle system library of code for use in shape analysis and surface visualization.
* Josh/Ross/Tom pursuing research in new methods for shape analysis. Josh preparing talk for Mathematical Foundations of Computational Anatomy Workshop at MICCAI 2006.
Notes
9/11/06 - 9/29/06 Josh cranks on particle system code & MICCAI Talk. Otherwise, continue breeding and segmenting. Possible wild-type scanning work.
== SCIRun Release ==
* Still waiting for new naming convention (We need this in place as well to merge in ModelCreation)
* CMake conversion is going slower than planned (issues with dynamic compilation and packages)
* Fixing filename conventions (proposal we allow the user to save filenames relative to the network and build in a converter from WIndows naming convention to Unix naming convention and backwards )
* We blocked all editing while running a network (Allowing editing and making networks run fine turns out to be a hugh task for the developers.) This way users should not be able to crash SCIRun this way
* Currently configure is broken and CMAKE is not fully functional.
* No progress yet on documentation
* Do we want to merge thirdparty into the main branch. It would be nice if users just download CMAKE and then run ccmake . and thirdparty builds automatically.
* Latest compiler gcc 4.1 on OSX is this working?
* Can we start to make the splash ppm for new version of SCIRun.
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Fixing module code to use send_output_handle / get_input_handle
c) Fixing warnings in the code so we can use -Wall (better code practice)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
CIBC:Project:svn
0
1067
1372
2006-09-12T14:32:45Z
Mjc
35
wikitext
text/x-wiki
CIBC development continues in our svn repository. Anyone can checkout and compile the code, access is required to commit code. Following the instructions will build you a local copy of the working trees, for the latest Thirdparty code, as well as the latest development code. This is the up to the minute changes, be aware that during various phases of development this code can become unstable, this is the bleeding edge.
[http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html Useful information about the SCIRun repository and svn] but remember that the cibc code lives on its own branch, so when checking out code use the following links.
For Thirdparty use this command:
svn co https://code.sci.utah.edu/svn/Thirdparty {''my local path to thirdparty''}
For Thirdparty use this command:
svn co https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src {''local path to my working tree. ex. SCIRun/src ''}
Periodically you should update these working trees to get the latest changes merged into your local copy.
cd {''local path to your working tree''}
svn update
1373
1372
2006-09-12T14:34:17Z
Mjc
35
wikitext
text/x-wiki
CIBC development continues in our svn repository. Anyone can checkout and compile the code, access is required to commit code. Following the instructions will build you a local copy of the working trees, for the latest Thirdparty code, as well as the latest development code. This is the up to the minute changes, be aware that during various phases of development this code can become unstable, this is the bleeding edge.
[http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html Useful information about the SCIRun repository and svn] but remember that the cibc code lives on its own branch, so when checking out code use the following links.
To checkout the latest '''Thirdparty''' use this command:
svn co https://code.sci.utah.edu/svn/Thirdparty {''my local path to thirdparty''}
To checkout the latest '''CIBC branch''' use this command:
svn co https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src {''local path to my working tree. ex. SCIRun/src ''}
Periodically you should update these working trees to get the latest changes merged into your local copy.
cd {''local path to your working tree''}
svn update
1375
1373
2006-09-12T14:34:55Z
Mjc
35
wikitext
text/x-wiki
CIBC development continues in our svn repository. Anyone can checkout and compile the code, access is required to commit code. Following the instructions will build you a local copy of the working trees, for the latest Thirdparty code, as well as the latest development code. This is the up to the minute changes, be aware that during various phases of development this code can become unstable, this is the bleeding edge.
[http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html Useful information about the SCIRun repository and svn] but remember that the cibc code lives on its own branch, so when checking out code use the following links.
To checkout the latest '''Thirdparty''' use this command:
svn co https://code.sci.utah.edu/svn/Thirdparty {''my local path to thirdparty''}
To checkout the latest '''CIBC branch''' use this command:
svn co https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src {''local path to my working tree. ex. SCIRun/src ''}
Periodically you should update these working trees to get the latest changes merged into your local copy.
cd {''local path to your working tree''}
svn update
1376
1375
2006-09-12T14:36:41Z
Mjc
35
wikitext
text/x-wiki
CIBC development continues in our svn repository. Anyone can checkout and compile the code, access is required to commit code. Following the instructions will build you a local copy of the working trees, for the latest Thirdparty code, as well as the latest development code. This is the up to the minute changes, be aware that during various phases of development this code can become unstable, this is the bleeding edge.
Useful information about the [http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCIRun repository and svn] but remember that the cibc code lives on its own branch, so when checking out code use the following links.
To checkout the latest '''Thirdparty''' use this command:
svn co https://code.sci.utah.edu/svn/Thirdparty {''my local path to thirdparty''}
To checkout the latest '''CIBC branch''' use this command:
svn co https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src {''local path to my working tree. ex. SCIRun/src ''}
Periodically you should update these working trees to get the latest changes merged into your local copy.
cd {''local path to your working tree''}
svn update
1377
1376
2006-09-12T14:37:12Z
Mjc
35
wikitext
text/x-wiki
CIBC development continues in our svn repository. Anyone can checkout and compile the code, access is required to commit code. Following the instructions will build you a local copy of the working trees, for the latest Thirdparty code, as well as the latest development code. This is the up to the minute changes, be aware that during various phases of development this code can become unstable, this is the bleeding edge.
Useful information about the [http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCIRun repository and svn] ,but remember that the CIBC code lives on its own branch, so when checking out code use the following links.
To checkout the latest '''Thirdparty''' use this command:
svn co https://code.sci.utah.edu/svn/Thirdparty {''my local path to thirdparty''}
To checkout the latest '''CIBC branch''' use this command:
svn co https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src {''local path to my working tree. ex. SCIRun/src ''}
Periodically you should update these working trees to get the latest changes merged into your local copy.
cd {''local path to your working tree''}
svn update
1378
1377
2006-09-12T14:37:27Z
Mjc
35
wikitext
text/x-wiki
CIBC development continues in our svn repository. Anyone can checkout and compile the code, access is required to commit code. Following the instructions will build you a local copy of the working trees, for the latest Thirdparty code, as well as the latest development code. This is the up to the minute changes, be aware that during various phases of development this code can become unstable, this is the bleeding edge.
Useful information about the [http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCIRun repository and svn] ,but remember that the CIBC code lives on its own branch, so when checking out code use the following links.
To checkout the latest '''Thirdparty''' use this command:
svn co https://code.sci.utah.edu/svn/Thirdparty {''my local path to thirdparty''}
To checkout the latest '''CIBC branch''' use this command:
svn co https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src {''local path to my working tree. ex. SCIRun/src ''}
Periodically you should update these working trees to get the latest changes merged into your local copy.
cd {''local path to your working tree''}
svn update
1379
1378
2006-09-12T14:38:33Z
Mjc
35
wikitext
text/x-wiki
CIBC development continues in our svn repository. Anyone can checkout and compile the code, access is required to commit code. Following the instructions will build you a local copy of the working trees, for the latest Thirdparty code, as well as the latest development code. This is the up to the minute changes, be aware that during various phases of development this code can become unstable, this is the bleeding edge.
Useful information about the [http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCIRun repository and svn] ,but remember that the CIBC code lives on its own branch, so when checking out code use the following links.
To checkout the latest '''Thirdparty''' use this command:
svn co https://code.sci.utah.edu/svn/Thirdparty {''my local path to Thirdparty. ex. Thirdparty''}
To checkout the latest '''CIBC branch''' use this command:
svn co https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src {''local path to my working tree. ex. SCIRun/src ''}
Periodically you should update these working trees to get the latest changes merged into your local copy.
cd {''local path to your working tree''}
svn update
1393
1379
2006-09-12T14:39:02Z
Mjc
35
wikitext
text/x-wiki
CIBC development continues in our svn repository. Anyone can checkout and compile the code, access is required to commit code. Following the instructions will build you a local copy of the working trees, for the latest Thirdparty code, as well as the latest development code. This is the up to the minute changes, be aware that during various phases of development this code can become unstable, this is the bleeding edge.
Useful information about the [http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCIRun repository and svn] ,but remember that the CIBC code lives on its own branch, so when checking out code use the following links.
To checkout the latest '''Thirdparty''' use this command:
svn co https://code.sci.utah.edu/svn/Thirdparty {''local path to my Thirdparty. ex. Thirdparty''}
To checkout the latest '''CIBC branch''' use this command:
svn co https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src {''local path to my working tree. ex. SCIRun/src ''}
Periodically you should update these working trees to get the latest changes merged into your local copy.
cd {''local path to your working tree''}
svn update
1399
1393
2006-10-02T15:19:46Z
Mjc
35
wikitext
text/x-wiki
== Checking out the CIBC svn branch ==
CIBC development continues in our svn repository. Anyone can checkout and compile the code, access is required to commit code. Following the instructions will build you a local copy of the working trees, for the latest Thirdparty code, as well as the latest development code. This is the up to the minute changes, be aware that during various phases of development this code can become unstable, this is the bleeding edge.
Useful information about the [http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCIRun repository and svn] ,but remember that the CIBC code lives on its own branch, so when checking out code use the following links.
To checkout the latest '''Thirdparty''' use this command:
svn co https://code.sci.utah.edu/svn/Thirdparty {''local path to my Thirdparty. ex. Thirdparty''}
To checkout the latest '''CIBC branch''' use this command:
svn co https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src {''local path to my working tree. ex. SCIRun/src ''}
Periodically you should update these working trees to get the latest changes merged into your local copy.
cd {''local path to your working tree''}
svn update
== Patching your thirdparty with ITK ==
Get the latest version of the InsightToolkit, untar it use the following cmake directives to configure it. The version at the time this was written is: 2.8.1
cd InsightToolkit-2.8.1/
cmake . -DBUILD_EXAMPLES:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_TESTING:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -DITK_USE_SYSTEM_PNG:BOOL=ON -DCMAKE_INSTALL_PREFIX:STRING='''''/path/to/your/thirdparty/directory/'''''
make
make install
2094
1399
2006-10-10T16:15:03Z
Mjc
35
/* Checking out the CIBC svn branch */
wikitext
text/x-wiki
== Checking out the CIBC svn branch ==
CIBC development continues in our svn repository. Anyone can checkout and compile the code, access is required to commit code. Following the instructions will build you a local copy of the working trees, for the latest Thirdparty code, as well as the latest development code. This is the up to the minute changes, be aware that during various phases of development this code can become unstable, this is the bleeding edge.
Useful information about the [http://code.sci.utah.edu/SCIRunAndSubversionFAQ.html SCIRun repository and svn] ,but remember that the CIBC code lives on its own branch, so when checking out code use the following links.
To checkout the latest '''Thirdparty''' use this command:
svn co https://code.sci.utah.edu/svn/Thirdparty {''local path to my Thirdparty. ex. Thirdparty''}
To checkout the latest '''CIBC branch''' use this command:
svn co https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src {''local path to my working tree. ex. SCIRun/src ''}
Periodically you should update these working trees to get the latest changes merged into your local copy.
cd {'''''local'''/'''path'''/'''to'''/'''your'''/'''working'''/'''tree'''''}
svn update
== Patching your thirdparty with ITK ==
Get the latest version of the InsightToolkit, untar it use the following cmake directives to configure it. The version at the time this was written is: 2.8.1
cd InsightToolkit-2.8.1/
cmake . -DBUILD_EXAMPLES:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_TESTING:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -DITK_USE_SYSTEM_PNG:BOOL=ON -DCMAKE_INSTALL_PREFIX:STRING='''''/path/to/your/thirdparty/directory/'''''
make
make install
File:Figure1 PotentialGradient.png
6
1068
3204
2006-09-26T19:38:51Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
File:Figure1 CurrentDesity.png
6
1069
3205
2006-09-26T19:39:32Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
CIBC:Collab:Triedman
0
961
1392
1391
2006-09-26T19:44:29Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling Internal Defibrillators in Children */
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Afront-body.png|135px]] [[Image:Figure1_CurrentDesity.png|150px]] [[Image:Figure1_PotentialGradient.png|128px]]
----
'''Department of Cardiology, Children's Hospital Boston'''
Matthew Jolley, MD
John Triedman, MD
'''Scientific Computing and Imaging Institute'''
Dana Brooks, PhD, NorthEastern University
Robert MacLeod, PhD, Utah
Jeroen Stinstra, PhD, Utah
Joshua Cates, Utah
McKay Davis, Utah
David Weinstein, PhD, Utah
'''Surgical Planning Laboratory'''
Carl-Fredrik Westin, PhD
Raul San-Jose Estepar, PhD
Steve Pieper, PhD
Gordon Kindlmann, PhD
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Subprojects by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 16:53, 1 Feb 2006 (MST)
3095
1392
2006-09-26T19:46:47Z
Matthew.jolley@tch.harvard.edu
23
/* Modeling Internal Defibrillators in Children */
wikitext
text/x-wiki
== Modeling Internal Defibrillators in Children ==
[[Image:Afront-body.png|205px]] [[Image:Figure1_CurrentDesity.png|230px]] [[Image:Figure1_PotentialGradient.png|230px]]
----
'''Department of Cardiology, Children's Hospital Boston'''
Matthew Jolley, MD
John Triedman, MD
'''Scientific Computing and Imaging Institute'''
Dana Brooks, PhD, NorthEastern University
Robert MacLeod, PhD, Utah
Jeroen Stinstra, PhD, Utah
Joshua Cates, Utah
McKay Davis, Utah
David Weinstein, PhD, Utah
'''Surgical Planning Laboratory'''
Carl-Fredrik Westin, PhD
Raul San-Jose Estepar, PhD
Steve Pieper, PhD
Gordon Kindlmann, PhD
== Introduction ==
Placement of Implantable Cardiac Defibrillators(ICDs)is a unique and challenging problem for children due to the variety of shapes and sizes, ranging from neonate to adolescent. As a result, a variety of novel implant techniques have been employed. Although these have generally been successful inasmuch as they result in a clinically acceptable defibrillation threshold, nothing is known about the mechanisms by which this threshold is attained, the optimal geometries for defibrillation, and whether unsafe electric field strengths are a result of novel implant approaches. Finite element modeling has been shown in adult torso models to correlate well with clinical results. Our goal is to model defibrillation in child torso models to gain insight into this important problem.
== Goals of Project ==
1. Create 3D models of children based on CT and MRI datasets for modeling internal and external defibrillation in the SCIRun environment. The processes required address the larger question of how to take any CT or MRI DICOM dataset, segment it into various label maps, combine those label maps in a hierarchical manner, then import and utilize them in the SCIRun/BioPSE environment. This represents part of an expanding collaboration between [http://www.sci.utah.edu/ SCI] and [http://splweb.bwh.harvard.edu:8000/ SPL] to integrate open source tools to allow creation, visualization, and computational modeling of image based 3D models.
2. Create modules which allow insertion of electrode shapes into finite element models in SCIRun/BioPSE. This requires advanced local remeshing to remove "tissue" elements and insert the "electrode elements" for which electrical properties can be independently and adaptively set.
3. Utilize the above innovations to model the placement of internal defibrillator electrodes to maximize efficacy, minimize potential cardiac damage, and gain further insight into optimizing defibrillation in children of various sizes.
== Overview of Current Pipeline and Subprojects by Topic==
[[Segmentation of CT and MRI datasets using 3D Slicer]]
[[Hierarchical Combination of Individual Volumes to Form a Combined Model]]
[[Importing, Resampling, and Defining Axes of a Model in SCIRun]]
[[Modeling and Visualization of Models in SCIRun/BioPSE]]
--[[User:Matthew.jolley@tch.harvard.edu|MJ]] 16:53, 1 Feb 2006 (MST)
CIBC:Meetings:Management:Agenda
0
1066
1425
1402
2006-10-10T19:19:22Z
Jeroen
19
/* Continuous Collaborator/Developer Agenda */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
Please see [[CIBC:Project:NCMIR]]
== Capecchi Collaboration ==
Overview: We are generating data for 2 papers. The first will be a comparison with the original bone length study from the Capecchi lab using our semi-automated techniques. The second paper will be a shape study using our shape tools. We have several students working on the necessary segmentations. Josh is working on shape analysis library and research.
Current Hox D11 work
* Zach, Lance, and Toly are currently working on bone segmentations.
* Zach is breeding new mutants: we need approx 3-4 more mutant scans and 3-4 more wild type scans for a total of 17 each. This will replicate the number used in the original, manual length measurement paper. Estimated we can scan the new mutants in December.
* Toly has length measurement software up and running and processing segmentations as we get them.
* Preliminary results show good agreement in relative bone length of mutant vs. wild.
* Targeting first publication for early 2007: this paper will be a bone length study comparing
* May use this project to beta test the NCMIR segmentation app when manual features ready.
Current Shape Analysis work
* Josh is working on a particle system library of code for use in shape analysis and surface visualization.
* Josh/Ross/Tom pursuing research in new methods for shape analysis. Josh preparing talk for Mathematical Foundations of Computational Anatomy Workshop at MICCAI 2006.
Notes
9/11/06 - 9/29/06 Josh cranks on particle system code & MICCAI Talk. Otherwise, continue breeding and segmenting. Possible wild-type scanning work.
== SCIRun Release ==
* Still waiting for new naming convention (We need this in place as well to merge in ModelCreation)
* CMake conversion is going slower than planned (issues with dynamic compilation and packages)
* Fixing filename conventions (proposal we allow the user to save filenames relative to the network and build in a converter from WIndows naming convention to Unix naming convention and backwards )
* We blocked all editing while running a network (Allowing editing and making networks run fine turns out to be a hugh task for the developers.) This way users should not be able to crash SCIRun this way
* Currently configure is broken and CMAKE is not fully functional.
* No progress yet on documentation
* Do we want to merge thirdparty into the main branch. It would be nice if users just download CMAKE and then run ccmake . and thirdparty builds automatically.
* Latest compiler gcc 4.1 on OSX is this working?
* Can we start to make the splash ppm for new version of SCIRun.
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Fixing module code to use send_output_handle / get_input_handle
c) Fixing warnings in the code so we can use -Wall (better code practice)
=== McKay ===
a) Painter
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
==Test==
[[CIBC:Documentation:MatlabInterface:Interface:InterfaceToMatlab]]
1426
1425
2006-10-11T19:05:57Z
Jeroen
19
/* Developers */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
Please see [[CIBC:Project:NCMIR]]
== Capecchi Collaboration ==
Overview: We are generating data for 2 papers. The first will be a comparison with the original bone length study from the Capecchi lab using our semi-automated techniques. The second paper will be a shape study using our shape tools. We have several students working on the necessary segmentations. Josh is working on shape analysis library and research.
Current Hox D11 work
* Zach, Lance, and Toly are currently working on bone segmentations.
* Zach is breeding new mutants: we need approx 3-4 more mutant scans and 3-4 more wild type scans for a total of 17 each. This will replicate the number used in the original, manual length measurement paper. Estimated we can scan the new mutants in December.
* Toly has length measurement software up and running and processing segmentations as we get them.
* Preliminary results show good agreement in relative bone length of mutant vs. wild.
* Targeting first publication for early 2007: this paper will be a bone length study comparing
* May use this project to beta test the NCMIR segmentation app when manual features ready.
Current Shape Analysis work
* Josh is working on a particle system library of code for use in shape analysis and surface visualization.
* Josh/Ross/Tom pursuing research in new methods for shape analysis. Josh preparing talk for Mathematical Foundations of Computational Anatomy Workshop at MICCAI 2006.
Notes
9/11/06 - 9/29/06 Josh cranks on particle system code & MICCAI Talk. Otherwise, continue breeding and segmenting. Possible wild-type scanning work.
== SCIRun Release ==
* Still waiting for new naming convention (We need this in place as well to merge in ModelCreation)
* CMake conversion is going slower than planned (issues with dynamic compilation and packages)
* Fixing filename conventions (proposal we allow the user to save filenames relative to the network and build in a converter from WIndows naming convention to Unix naming convention and backwards )
* We blocked all editing while running a network (Allowing editing and making networks run fine turns out to be a hugh task for the developers.) This way users should not be able to crash SCIRun this way
* Currently configure is broken and CMAKE is not fully functional.
* No progress yet on documentation
* Do we want to merge thirdparty into the main branch. It would be nice if users just download CMAKE and then run ccmake . and thirdparty builds automatically.
* Latest compiler gcc 4.1 on OSX is this working?
* Can we start to make the splash ppm for new version of SCIRun.
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Working on the module renaming
c) Will work on updating the Doxygen documentation (do we want this?)
d) Will work on making small how to make a module tutorial (do we want this?)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Helping McKay to get Lexov working (we are already pst deadline)
=== McKay ===
a) Lexov
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
==Test==
[[CIBC:Documentation:MatlabInterface:Interface:InterfaceToMatlab]]
1427
1426
2006-10-11T19:11:23Z
Jeroen
19
/* SCIRun Release */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) Write CIC paper
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
Please see [[CIBC:Project:NCMIR]]
== Capecchi Collaboration ==
Overview: We are generating data for 2 papers. The first will be a comparison with the original bone length study from the Capecchi lab using our semi-automated techniques. The second paper will be a shape study using our shape tools. We have several students working on the necessary segmentations. Josh is working on shape analysis library and research.
Current Hox D11 work
* Zach, Lance, and Toly are currently working on bone segmentations.
* Zach is breeding new mutants: we need approx 3-4 more mutant scans and 3-4 more wild type scans for a total of 17 each. This will replicate the number used in the original, manual length measurement paper. Estimated we can scan the new mutants in December.
* Toly has length measurement software up and running and processing segmentations as we get them.
* Preliminary results show good agreement in relative bone length of mutant vs. wild.
* Targeting first publication for early 2007: this paper will be a bone length study comparing
* May use this project to beta test the NCMIR segmentation app when manual features ready.
Current Shape Analysis work
* Josh is working on a particle system library of code for use in shape analysis and surface visualization.
* Josh/Ross/Tom pursuing research in new methods for shape analysis. Josh preparing talk for Mathematical Foundations of Computational Anatomy Workshop at MICCAI 2006.
Notes
9/11/06 - 9/29/06 Josh cranks on particle system code & MICCAI Talk. Otherwise, continue breeding and segmenting. Possible wild-type scanning work.
== SCIRun Release ==
* We have new naming convention !
* CMake conversion is going slower than planned (issues with dynamic compilation and packages), this is still not resolved.
* We blocked all editing while running a network (Allowing editing and making networks run fine turns out to be a hugh task for the developers.) This way users should not be able to crash SCIRun this way.
There are issues here we subnetworks, and callbacks (With subnetworks execution completion is not notified, we need to resolve this)
* CMAKE is not fully functional, configure has been fixed (at least yesterday it was working).
* No progress yet on documentation (Issue here which Wiki to use)
* Latest compiler gcc 4.1 on OSX is this working. The 4.2 troubles seem be from a beta beta version of GCC. We are not following up on this until that version becomes a stable version.
* Can we start to make the splash ppm for new version of SCIRun.
* Do we postpone performance issues LinAlgebra to next release ? (Our current Matirx class are an absolute mess)
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Working on the module renaming
c) Will work on updating the Doxygen documentation (do we want this?)
d) Will work on making small how to make a module tutorial (do we want this?)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Helping McKay to get Lexov working (we are already pst deadline)
=== McKay ===
a) Lexov
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
==Test==
[[CIBC:Documentation:MatlabInterface:Interface:InterfaceToMatlab]]
1434
1427
2006-10-11T19:11:54Z
Jeroen
19
/* Short term goal */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) CIC paper has been written and has been accepted
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
Please see [[CIBC:Project:NCMIR]]
== Capecchi Collaboration ==
Overview: We are generating data for 2 papers. The first will be a comparison with the original bone length study from the Capecchi lab using our semi-automated techniques. The second paper will be a shape study using our shape tools. We have several students working on the necessary segmentations. Josh is working on shape analysis library and research.
Current Hox D11 work
* Zach, Lance, and Toly are currently working on bone segmentations.
* Zach is breeding new mutants: we need approx 3-4 more mutant scans and 3-4 more wild type scans for a total of 17 each. This will replicate the number used in the original, manual length measurement paper. Estimated we can scan the new mutants in December.
* Toly has length measurement software up and running and processing segmentations as we get them.
* Preliminary results show good agreement in relative bone length of mutant vs. wild.
* Targeting first publication for early 2007: this paper will be a bone length study comparing
* May use this project to beta test the NCMIR segmentation app when manual features ready.
Current Shape Analysis work
* Josh is working on a particle system library of code for use in shape analysis and surface visualization.
* Josh/Ross/Tom pursuing research in new methods for shape analysis. Josh preparing talk for Mathematical Foundations of Computational Anatomy Workshop at MICCAI 2006.
Notes
9/11/06 - 9/29/06 Josh cranks on particle system code & MICCAI Talk. Otherwise, continue breeding and segmenting. Possible wild-type scanning work.
== SCIRun Release ==
* We have new naming convention !
* CMake conversion is going slower than planned (issues with dynamic compilation and packages), this is still not resolved.
* We blocked all editing while running a network (Allowing editing and making networks run fine turns out to be a hugh task for the developers.) This way users should not be able to crash SCIRun this way.
There are issues here we subnetworks, and callbacks (With subnetworks execution completion is not notified, we need to resolve this)
* CMAKE is not fully functional, configure has been fixed (at least yesterday it was working).
* No progress yet on documentation (Issue here which Wiki to use)
* Latest compiler gcc 4.1 on OSX is this working. The 4.2 troubles seem be from a beta beta version of GCC. We are not following up on this until that version becomes a stable version.
* Can we start to make the splash ppm for new version of SCIRun.
* Do we postpone performance issues LinAlgebra to next release ? (Our current Matirx class are an absolute mess)
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Working on the module renaming
c) Will work on updating the Doxygen documentation (do we want this?)
d) Will work on making small how to make a module tutorial (do we want this?)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Helping McKay to get Lexov working (we are already pst deadline)
=== McKay ===
a) Lexov
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
==Test==
[[CIBC:Documentation:MatlabInterface:Interface:InterfaceToMatlab]]
1435
1434
2006-10-17T21:17:40Z
Cates
4
/* Capecchi Collaboration */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) CIC paper has been written and has been accepted
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
Please see [[CIBC:Project:NCMIR]]
== Capecchi Collaboration ==
Overview: We are generating data for 2 papers. The first will be a comparison with the original bone length study from the Capecchi lab using our semi-automated techniques. The second paper will be a shape study using our shape tools. We have several students working on the necessary segmentations. Josh is working on shape analysis library and research.
Current Hox D11 work
* Zach, Lance, and Toly are currently working on bone segmentations.
* Zach is breeding new mutants: we need approx 3-4 more mutant scans and 3-4 more wild type scans for a total of 17 each. This will replicate the number used in the original, manual length measurement paper. Estimated we can scan the new mutants in December.
* Toly has length measurement software up and running and processing segmentations as we get them.
* Preliminary results show good agreement in relative bone length of mutant vs. wild.
* Targeting first publication for early 2007: this paper will be a bone length study comparing
* May use this project to beta test the NCMIR segmentation app when manual features ready.
Current Shape Analysis work
* Josh is working on a particle system library of code for use in shape analysis and surface visualization.
* Josh/Ross/Tom pursuing research in new methods for shape analysis. Josh gave talk for Mathematical Foundations of Computational Anatomy Workshop at MICCAI 2006.
Notes
9/11/06 - 9/29/06 Josh cranks on particle system code & MICCAI Talk. Otherwise, continue breeding and segmenting. Possible wild-type scanning work.
10/01/06 - Particle system code nearing completion. Zach, Lance recruiting more segmenters. Zach preparing poster presenting preliminary work.
== SCIRun Release ==
* We have new naming convention !
* CMake conversion is going slower than planned (issues with dynamic compilation and packages), this is still not resolved.
* We blocked all editing while running a network (Allowing editing and making networks run fine turns out to be a hugh task for the developers.) This way users should not be able to crash SCIRun this way.
There are issues here we subnetworks, and callbacks (With subnetworks execution completion is not notified, we need to resolve this)
* CMAKE is not fully functional, configure has been fixed (at least yesterday it was working).
* No progress yet on documentation (Issue here which Wiki to use)
* Latest compiler gcc 4.1 on OSX is this working. The 4.2 troubles seem be from a beta beta version of GCC. We are not following up on this until that version becomes a stable version.
* Can we start to make the splash ppm for new version of SCIRun.
* Do we postpone performance issues LinAlgebra to next release ? (Our current Matirx class are an absolute mess)
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Working on the module renaming
c) Will work on updating the Doxygen documentation (do we want this?)
d) Will work on making small how to make a module tutorial (do we want this?)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Helping McKay to get Lexov working (we are already pst deadline)
=== McKay ===
a) Lexov
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
==Test==
[[CIBC:Documentation:MatlabInterface:Interface:InterfaceToMatlab]]
3199
1435
2006-10-17T21:18:03Z
Cates
4
/* Capecchi Collaboration */
wikitext
text/x-wiki
= Continuous Collaborator/Developer Agenda =
Goal of this page is to keep an on going list of projects needs, and accomplishments for each project and a short update of what the developers are up to.
== Triedman Collaboration ==
===Recent progress===
a) We have a hexahedral approach working and we have surfaces for two of the segmented models.
b) We have a list of locations to put the electrodes and scans of electrode cans and wires (all specifications)
c) We have thresholds and voltage specifications.
d) We have code to do intersections in surfaces
===To do===
a) Test hexahedral approach, test different densities of meshes, test different ways of averaging conductivities.
b) Test efficiency in estimating impedance (one of the few measures we have we can use for validating the models,
the ICD actually measures this :) )
c) Build electrode models from scans (probably manually because it is a 2D scan of 3D object and we need to add a depth)
d) Test different refinements around electrodes
e) Test whether insertion of electrode cans (closed surfaces) in surface models work.
f) Test effectiveness of mesh smoothing on results.
g) Generate a few more surface models with different parameters.
h) Use more elements in models (large dependency on element size in first tests) and hence fix memory management
===Collaborator===
a) Generate a few more segmented models and help with conversion mesh effectiveness study.
===Development to do for developers===
a) Fix problems intersection code
b) Expose more options in mesh smoother (currently no control over process)
c) Render a decent interface to TetGen
d) Fix MeshQuality module both GUI as code (crashes often and only displays data in shell)
e) Adjust intersection code to generate line electrodes at intersection of two planes.
f) FIX PROBLEMS IN SCIRUN SCHEDULER/INTERFACE
g) FIX MEMORY ADDRESS SPACE, BY STREAMING DATAFLOW TO DISK
h) Merge Jason's code (mesh smoother) into the branch
===Short term goals===
a) Upgrade modules to use consistent gets and sends for dataflow data
b) Create a system to cache data on disk
c) Fix interwsection doe and surface smoother
== Henriquez Collaboration ==
=== Recent Progress ===
a) Fixed most bugs in the modules that generate the model
b) Add support for mapping electrodes in the model (we were getting data files that
are too big > 100Gb) and hence we only will record at certain locations in high detail.
c) Small models seem to be produced OK.
d) Upgraded CardioWave code to record highly detailed electrodes
=== To do ===
a) Do simulations and write paper for CIC
b) Fix the bugs in latest version of CardioWave
=== For collaborative project ===
a) Time dependent electrodes in CardioWave (SCIRun side is done)
=== Collaborator ===
a) Work on paper
=== Development to do for developers ===
a) FIX SCIRUN GUI/SCHEDULER (So collaborator can use SCIRun)
b) Wrap modules so they are exposed in SCIRun Core (We currently though have a working set)
=== Short term goal ===
a) CIC paper has been written and has been accepted
== Makeig/Worrell Collaboration ==
=== Recent Progress ===
a) We had a meeting with Greg Worrell and Scott Makeig:
1) They will send us CT data (better for segmentation skull)
2) We will make surface meshes using afront
3) We will try to minimize number of elements, they have a BEM guy starting to work in Scott's lab soon
4) We will try to build a Tet model out of the surfaces
5) We will look at mesh quality
=> Waiting for data, need to page him before leaving to Spain for CIC (Jeroen)
=== To do ===
a) Figure out how to segment their data and get painter application working
b) Surface Remesher (LONG TERM, will take months to complete)
c) Fix the current insertion code (Dana has some requirements here as well, hence we want to properly integrate over surfaces etc, hence our developers will be lost at this one , as it requires a lot of functionality that is already in the basis classes)
d) Add general dipole model for each type of mesh.
=== Development to do for developers ===
a) Get the painter application working and start playing with data and depending on that implement
segmentation models. (I need input here, as I am not an expert in segmentation)
== Short term goal: ==
1) Get data from Greg
2) Get data to McKay for 1st try at segmenting skull using CT data
== Ellisman Collaboration ==
Please see [[CIBC:Project:NCMIR]]
== Capecchi Collaboration ==
Overview: We are generating data for 2 papers. The first will be a comparison with the original bone length study from the Capecchi lab using our semi-automated techniques. The second paper will be a shape study using our shape tools. We have several students working on the necessary segmentations. Josh is working on shape analysis library and research.
Current Hox D11 work
* Zach, Lance, and Toly are currently working on bone segmentations.
* Zach is breeding new mutants: we need approx 3-4 more mutant scans and 3-4 more wild type scans for a total of 17 each. This will replicate the number used in the original, manual length measurement paper. Estimated we can scan the new mutants in December.
* Toly has length measurement software up and running and processing segmentations as we get them.
* Preliminary results show good agreement in relative bone length of mutant vs. wild.
* Targeting first publication for early 2007: this paper will be a bone length study comparing
* May use this project to beta test the NCMIR segmentation app when manual features ready.
Current Shape Analysis work
* Josh is working on a particle system library of code for use in shape analysis and surface visualization.
* Josh/Ross/Tom pursuing research in new methods for shape analysis. Josh gave talk for Mathematical Foundations of Computational Anatomy Workshop at MICCAI 2006.
Notes
9/11/06 - 9/29/06 Josh cranks on particle system code & MICCAI Talk. Otherwise, continue breeding and segmenting. Possible wild-type scanning work.
10/01/06 - Particle system code nearing completion. Zach, Lance recruiting more segmenters. Zach preparing poster presenting preliminary work.
== SCIRun Release ==
* We have new naming convention !
* CMake conversion is going slower than planned (issues with dynamic compilation and packages), this is still not resolved.
* We blocked all editing while running a network (Allowing editing and making networks run fine turns out to be a hugh task for the developers.) This way users should not be able to crash SCIRun this way.
There are issues here we subnetworks, and callbacks (With subnetworks execution completion is not notified, we need to resolve this)
* CMAKE is not fully functional, configure has been fixed (at least yesterday it was working).
* No progress yet on documentation (Issue here which Wiki to use)
* Latest compiler gcc 4.1 on OSX is this working. The 4.2 troubles seem be from a beta beta version of GCC. We are not following up on this until that version becomes a stable version.
* Can we start to make the splash ppm for new version of SCIRun.
* Do we postpone performance issues LinAlgebra to next release ? (Our current Matirx class are an absolute mess)
== Developers ==
=== Marty ===
a) Creating tools for inactive mesh editing
b) Working on the module renaming
c) Will work on updating the Doxygen documentation (do we want this?)
d) Will work on making small how to make a module tutorial (do we want this?)
=== Michael ===
a) Helping Darby with CMake branch, (this needs to be done before we can do the big reorganization)
b) Helping McKay to get Lexov working (we are already pst deadline)
=== McKay ===
a) Lexov
b) CMake switch, to coordinate things needed for release Painter under CMake
=== Darby ===
a) CMake switch
==Test==
[[CIBC:Documentation:MatlabInterface:Interface:InterfaceToMatlab]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab
0
1071
1403
2006-10-10T19:29:33Z
Jeroen
19
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
==== Module Summary ====
==== Module Description ====
1404
1403
2006-10-10T19:30:43Z
Jeroen
19
/* '''InterfaceToMatlab''' */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Module Summary ===
=== Module Description ===
=== Module FAQ ===
1405
1404
2006-10-10T19:32:30Z
Jeroen
19
/* '''InterfaceToMatlab''' */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Module Summary ===
=== Module Description ===
----
=== Module FAQ ===
----
=== Known Bugs ===
1406
1405
2006-10-10T19:36:06Z
Jeroen
19
/* '''InterfaceToMatlab''' */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Module Summary ===
=== Module Description ===
----
=== Module FAQ ===
----
=== Known Bugs ===
----
=== Recent Changes ===
1407
1406
2006-10-10T19:36:33Z
Jeroen
19
/* '''InterfaceToMatlab''' */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Module Summary ===
=== Module Description ===
----
=== Module FAQ ===
----
=== Known Bugs ===
----
=== Recent Changes ===
----
1408
1407
2006-10-10T19:41:27Z
Jeroen
19
/* '''InterfaceToMatlab''' */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
----
=== FAQ ===
----
=== Known Bugs ===
----
=== Recent Changes ===
----
1409
1408
2006-10-10T19:45:10Z
Jeroen
19
/* '''InterfaceToMatlab''' */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
START MATLAB: This line describes how a sh-shell should start
matlab. This instruction is executed to launch matlab
* DISABLE: This will disable the matlabengine in scirunremote. The
service cannot be launched and any request for starting the
matlabengine will be denied.
* PASSWORD: A simple password, as a first line of defense. Better
ways will follow.
* RHOSTS: A list of machines that are allowed to log into
scirunremote to request the matlabengine service. This list should
contain all the machines you want to use for running SCIRun. Any
machine not on the list will be denied access. If no machine is listed
all machines are welcome to log in.
* MATLABTIMEOUT: How long should we wait before giving up. Note that
matlab often needs a couple of minutes to startup. The time entered
here is in seconds.
----
=== FAQ ===
----
=== Known Bugs ===
----
=== Recent Changes ===
----
1410
1409
2006-10-10T19:46:54Z
Jeroen
19
/* Configuration File */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:START MATLAB: This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:DISABLE: This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:PASSWORD: A simple password, as a first line of defense. Better ways will follow.
:RHOSTS: A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any
machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:MATLABTIMEOUT: How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
----
=== FAQ ===
----
=== Known Bugs ===
----
=== Recent Changes ===
----
1411
1410
2006-10-10T19:47:39Z
Jeroen
19
/* Configuration File */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:START MATLAB: This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:DISABLE: This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:PASSWORD: A simple password, as a first line of defense. Better ways will follow.
:RHOSTS: A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:MATLABTIMEOUT: How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
----
=== FAQ ===
----
=== Known Bugs ===
----
=== Recent Changes ===
----
1412
1411
2006-10-10T19:48:39Z
Jeroen
19
/* Configuration File */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
----
=== FAQ ===
----
=== Known Bugs ===
----
=== Recent Changes ===
----
1413
1412
2006-10-10T19:51:16Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
----
=== FAQ ===
----
=== Known Bugs ===
----
=== Recent Changes ===
----
1414
1413
2006-10-10T19:54:27Z
Jeroen
19
/* '''InterfaceToMatlab''' */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
----
=== FAQ ===
----
=== Known Bugs ===
----
=== Recent Changes ===
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1415
1414
2006-10-10T20:06:25Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
----
=== Known Bugs ===
----
=== Recent Changes ===
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1416
1415
2006-10-10T20:08:00Z
Jeroen
19
/* Recent Changes */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
----
=== Known Bugs ===
----
=== Recent Changes ===
This module recently was extended to have input and output ports for strings as well.
--jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1417
1416
2006-10-10T20:11:35Z
Jeroen
19
/* FAQ */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
====Functions in Matlab Code ====
The module at this point does not support any support to define matkab functions it self. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
This module recently was extended to have input and output ports for strings as well.
--jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1418
1417
2006-10-10T20:11:58Z
Jeroen
19
/* FAQ */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
====Functions in Matlab Code ====
The module at this point does not support any support to define matkab functions it self. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
This module recently was extended to have input and output ports for strings as well.
--jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1419
1418
2006-10-10T20:14:53Z
Jeroen
19
/* '''InterfaceToMatlab''' */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Version: 1.25.4
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
: Status: Present in latest version
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
====Functions in Matlab Code ====
The module at this point does not support any support to define matkab functions it self. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
This module recently was extended to have input and output ports for strings as well.
--jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1420
1419
2006-10-10T20:15:21Z
Jeroen
19
/* '''InterfaceToMatlab''' */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Last modified: 10 October 2006
: Authors: Jeroen Stinstra
: Status: Present in latest version
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
====Functions in Matlab Code ====
The module at this point does not support any support to define matkab functions it self. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
This module recently was extended to have input and output ports for strings as well.
--jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1421
1420
2006-10-10T20:16:12Z
Jeroen
19
/* '''InterfaceToMatlab''' */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Last modified: 10 October 2006
: Author(s): Jeroen Stinstra
: Status: Present in latest version
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
====Functions in Matlab Code ====
The module at this point does not support any support to define matkab functions it self. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
This module recently was extended to have input and output ports for strings as well.
--jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1422
1421
2006-10-10T20:16:52Z
Jeroen
19
/* Functions in Matlab Code */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Last modified: 10 October 2006
: Author(s): Jeroen Stinstra
: Status: Present in latest version
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
====Functions in Matlab Code ====
The module at this point does not support any support to define matlab functions it self. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
This module recently was extended to have input and output ports for strings as well.
--jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1423
1422
2006-10-10T20:18:26Z
Jeroen
19
/* Recent Changes */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Last modified: 10 October 2006
: Author(s): Jeroen Stinstra
: Status: Present in latest version
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
====Functions in Matlab Code ====
The module at this point does not support any support to define matlab functions it self. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
This module recently was extended to have input and output ports for strings as well --jeroen
Support for fields with no data was fixed -- jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1424
1423
2006-10-10T20:23:30Z
Jeroen
19
/* Recent Changes */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Last modified: 10 October 2006
: Author(s): Jeroen Stinstra
: Status: Present in latest version
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
====Functions in Matlab Code ====
The module at this point does not support any support to define matlab functions it self. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
This module recently was extended to have multiple input and output ports for strings as well --jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1438
1424
2006-10-10T20:38:28Z
Jeroen
19
/* '''InterfaceToMatlab''' */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Last modified: 10 October 2006
: Author(s): Jeroen Stinstra
: Status: Present in latest version
: Version: 1.25.0 and later
----
=== Summary ===
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
----
=== Description ===
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
====Functions in Matlab Code ====
The module at this point does not support any support to define matlab functions it self. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
This module recently was extended to have multiple input and output ports for strings as well --jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
File:InterfaceToMatlab GUI1.png
6
1072
3208
2006-10-10T20:00:21Z
Jeroen
19
wikitext
text/x-wiki
File:InterfaceToMatlabGUI2.png
6
1073
3209
2006-10-10T20:00:44Z
Jeroen
19
wikitext
text/x-wiki
File:InterfaceToMatlabGUI3.png
6
1074
3210
2006-10-10T20:00:54Z
Jeroen
19
wikitext
text/x-wiki
File:InterfaceToMatlabGUI4.png
6
1075
3211
2006-10-10T20:01:07Z
Jeroen
19
wikitext
text/x-wiki
CIBC:Project:Matlab
0
1076
1428
2006-10-11T20:39:14Z
Dbrayford
43
wikitext
text/x-wiki
1)How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
Figure 4
2)How to execute Matlab code within SCIRun?
3)How to automatically load a Matlab file within the Matlab interface module?
4)How to pass a function and parameters to the Matlab interface Module within SCIRun?
5)Dynamically modifying function parameters to a Matlab program within SCIRun?
1429
1428
2006-10-11T22:43:41Z
Dbrayford
43
wikitext
text/x-wiki
1)How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2)How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun
Figure 5
3)How to automatically load a Matlab file within the Matlab interface module?
4)How to pass a function and parameters to the Matlab interface Module within SCIRun?
5)Dynamically modifying function parameters to a Matlab program within SCIRun?
1436
1429
2006-10-11T23:07:25Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
5) Dynamically modifying function parameters to a Matlab program within SCIRun?
1437
1436
2006-10-17T22:03:24Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 8
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of eval.
5) Dynamically modifying function parameters to a Matlab program within SCIRun?
File:Matlab01.png
6
1077
3213
2006-10-11T20:41:49Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab02.png
6
1078
3214
2006-10-11T20:42:35Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab03.png
6
1079
3215
2006-10-11T20:45:46Z
Dbrayford
43
wikitext
text/x-wiki
File:MatlabDataReader01.png
6
1080
3216
2006-10-11T20:47:02Z
Dbrayford
43
wikitext
text/x-wiki
File:MatlabReader02.png
6
1081
3217
2006-10-11T22:50:59Z
Dbrayford
43
wikitext
text/x-wiki
Main Page
0
1
1431
1430
2006-10-16T22:42:53Z
Erikj
2
/* Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
<math>\sqrt{2}</math>
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1443
1431
2006-10-16T22:43:09Z
Erikj
2
/* Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
File:Autoload01.png
6
1082
3218
2006-10-17T18:43:23Z
Dbrayford
43
wikitext
text/x-wiki
CIBC:Project:NCMIR
0
1061
1433
1432
2006-10-17T19:14:27Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== Ontology-guided Contouring ===
1580
1433
2006-10-17T19:14:49Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== Ontology-guided Contouring ===
File:Autoload02.png
6
1083
3219
2006-10-17T19:26:36Z
Dbrayford
43
wikitext
text/x-wiki
File:Parameter pass01.png
6
1084
3220
2006-10-17T20:46:42Z
Dbrayford
43
wikitext
text/x-wiki
File:Parameter pass02.png
6
1085
3222
2006-10-17T21:58:33Z
Dbrayford
43
wikitext
text/x-wiki
CIBC:Project:Matlab
0
1076
1644
1437
2006-10-17T22:56:28Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) Dynamically modifying function parameters to a Matlab program within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
CIBC:Documentation:MatlabInterface:Interface:InterfaceToMatlab
0
1086
3223
2006-10-19T19:05:31Z
Jeroen
19
CIBC:Documentation:MatlabInterface:Interface:InterfaceToMatlab moved to CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceToMatlab
wikitext
text/x-wiki
#REDIRECT [[CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceToMatlab]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab
0
1071
1439
1438
2006-10-19T19:16:23Z
Jeroen
19
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
; Module Information
: Package: MatlabInterface
: Catagory: Interface
: Last modified: 10 October 2006
: Author(s): Jeroen Stinstra
: Status: Present in latest version
: Version: 1.25.0 and later
----
=== Description ===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
====Functions in Matlab Code ====
The module at this point does not support any support to define matlab functions it self. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
This module recently was extended to have multiple input and output ports for strings as well --jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1440
1439
2006-10-19T19:18:08Z
Jeroen
19
/* '''InterfaceToMatlab''' */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
===Information===
: Package: MatlabInterface
: Catagory: Interface
: Last modified: 10 October 2006
: Author(s): Jeroen Stinstra
: Status: Present in latest version
: Version: 1.25.0 and later
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== FAQ ===
====Functions in Matlab Code ====
The module at this point does not support any support to define matlab functions it self. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
This module recently was extended to have multiple input and output ports for strings as well --jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1441
1440
2006-10-19T19:21:37Z
Jeroen
19
/* FAQ */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
===Information===
: Package: MatlabInterface
: Catagory: Interface
: Last modified: 10 October 2006
: Author(s): Jeroen Stinstra
: Status: Present in latest version
: Version: 1.25.0 and later
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
This module recently was extended to have multiple input and output ports for strings as well --jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1442
1441
2006-10-19T19:23:56Z
Jeroen
19
/* Recent Changes */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
===Information===
: Package: MatlabInterface
: Catagory: Interface
: Last modified: 10 October 2006
: Author(s): Jeroen Stinstra
: Status: Present in latest version
: Version: 1.25.0 and later
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1455
1442
2006-10-19T19:30:38Z
Jeroen
19
/* Information */
wikitext
text/x-wiki
== '''InterfaceToMatlab''' ==
===Information===
: Package: MatlabInterface
: Catagory: Interface
: Last modified: 19 October 2006
: Author(s): Jeroen Stinstra
: Status: Supported in latest version
: Version: '''1.26''' [[CIBC:Documentation:SCIRun:1.24:Reference:MatlabInterface:Interface:InterfaceToMatlab:|1.24]]
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1456
1455
2006-10-19T21:33:04Z
Jeroen
19
wikitext
text/x-wiki
== '''InterfaceWithMatlab''' ==
===Information===
: Package: MatlabInterface
: Catagory: Interface
: Last modified: 19 October 2006
: Author(s): Jeroen Stinstra
: Status: Supported in latest version
: Version: '''1.26''' [[CIBC:Documentation:SCIRun:1.24:Reference:MatlabInterface:Interface:InterfaceWithMatlab:|1.24]]
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
1484
1456
2006-10-19T21:34:10Z
Jeroen
19
/* Information */
wikitext
text/x-wiki
== '''InterfaceWithMatlab''' ==
===Information===
: Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
: Catagory: Interface
: Last modified: 19 October 2006
: Author(s): Jeroen Stinstra
: Status: Supported in latest version
: Version: '''1.26''' [[CIBC:Documentation:SCIRun:1.24:Reference:MatlabInterface:Interface:InterfaceWithMatlab:|1.24]]
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
Main Page
0
1
1462
1443
2006-10-19T19:41:11Z
Jeroen
19
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Documentation ==
[[CIBC:Documentation|Documentation Portal]]
Please select Documentation Portal to access the on line documentation of the SCIRun/BioPSE software.
1481
1462
2006-10-19T21:42:01Z
Jeroen
19
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
CIBC:Documentation:SCIRun
0
1087
1444
2006-10-19T20:21:15Z
Jeroen
19
wikitext
text/x-wiki
= '''Documentation''' =
'''NOTE DOCUMENTATION IS STILL UNDER CONSTRUCTION'''
'''AND MAY CHANGE AT ANY MOMENT IN TIME'''
=== SCIRun/BioPSE Documentation ===
'''General Documentation'''
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
'''User Documentation'''
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
'''Developer Documentation'''
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
=== BioPSE PowerApps Documentation ===
----
1445
1444
2006-10-19T20:22:22Z
Jeroen
19
/* '''Documentation''' */
wikitext
text/x-wiki
= '''Documentation''' =
'''NOTE DOCUMENTATION IS STILL UNDER CONSTRUCTION'''
'''AND MAY CHANGE AT ANY MOMENT IN TIME'''
=== '''SCIRun/BioPSE Documentation''' ===
----
'''General Documentation'''
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
'''User Documentation'''
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
'''Developer Documentation'''
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
=== '''BioPSE PowerApps Documentation''' ===
----
1446
1445
2006-10-19T20:22:47Z
Jeroen
19
wikitext
text/x-wiki
== '''Documentation''' ==
'''NOTE DOCUMENTATION IS STILL UNDER CONSTRUCTION'''
'''AND MAY CHANGE AT ANY MOMENT IN TIME'''
=== '''SCIRun/BioPSE Documentation''' ===
----
'''General Documentation'''
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
'''User Documentation'''
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
'''Developer Documentation'''
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
=== '''BioPSE PowerApps Documentation''' ===
----
1447
1446
2006-10-19T20:23:49Z
Jeroen
19
wikitext
text/x-wiki
= '''Documentation''' =
'''NOTE: THIS DOCUMENTATION PAGE IS STILL UNDER CONSTRUCTION'''
'''INFORMATION ON THIS PAGE IS NOT YET UP TO DATE AND MAY CHANGE ANY MOMENT'''
=== '''SCIRun/BioPSE Documentation''' ===
----
'''General Documentation'''
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
'''User Documentation'''
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
'''Developer Documentation'''
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
=== '''BioPSE PowerApps Documentation''' ===
----
1448
1447
2006-10-19T20:24:03Z
Jeroen
19
/* '''Documentation''' */
wikitext
text/x-wiki
= '''Documentation''' =
'''NOTE: THIS DOCUMENTATION PAGE IS STILL UNDER CONSTRUCTION'''
'''INFORMATION ON THIS PAGE IS NOT YET UP TO DATE AND MAY CHANGE ANY MOMENT'''
=== '''SCIRun/BioPSE Documentation''' ===
----
'''General Documentation'''
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
'''User Documentation'''
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
'''Developer Documentation'''
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
=== '''BioPSE PowerApps Documentation''' ===
----
1449
1448
2006-10-19T20:38:26Z
Jeroen
19
/* '''SCIRun/BioPSE Documentation''' */
wikitext
text/x-wiki
= '''Documentation''' =
'''NOTE: THIS DOCUMENTATION PAGE IS STILL UNDER CONSTRUCTION'''
'''INFORMATION ON THIS PAGE IS NOT YET UP TO DATE AND MAY CHANGE ANY MOMENT'''
=== '''SCIRun/BioPSE V 1.26 Documentation''' ===
----
'''General Documentation'''
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
'''User Documentation'''
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
'''Developer Documentation'''
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
=== '''BioPSE PowerApps Documentation''' ===
----
1450
1449
2006-10-19T20:39:14Z
Jeroen
19
/* '''Documentation''' */
wikitext
text/x-wiki
='''Documentation'''=
'''NOTE: THIS DOCUMENTATION PAGE IS STILL UNDER CONSTRUCTION'''
'''INFORMATION ON THIS PAGE IS NOT YET UP TO DATE AND MAY CHANGE ANY MOMENT'''
==='''SCIRun/BioPSE V 1.26 Documentation'''===
----
'''General Documentation'''
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
'''User Documentation'''
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
'''Developer Documentation'''
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
==='''BioPSE PowerApps Documentation'''===
----
1451
1450
2006-10-19T20:40:19Z
Jeroen
19
wikitext
text/x-wiki
='''Documentation'''=
'''NOTE: THIS DOCUMENTATION PAGE IS STILL UNDER CONSTRUCTION'''
'''INFORMATION ON THIS PAGE IS NOT YET UP TO DATE AND MAY CHANGE ANY MOMENT'''
==='''SCIRun/BioPSE V 1.26 Documentation'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
==='''BioPSE PowerApps Documentation'''===
----
1452
1451
2006-10-19T20:40:37Z
Jeroen
19
/* '''Documentation''' */
wikitext
text/x-wiki
=='''Documentation'''==
'''NOTE: THIS DOCUMENTATION PAGE IS STILL UNDER CONSTRUCTION'''
'''INFORMATION ON THIS PAGE IS NOT YET UP TO DATE AND MAY CHANGE ANY MOMENT'''
==='''SCIRun/BioPSE V 1.26 Documentation'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
==='''BioPSE PowerApps Documentation'''===
----
1463
1452
2006-10-19T20:41:07Z
Jeroen
19
/* '''BioPSE PowerApps Documentation''' */
wikitext
text/x-wiki
=='''Documentation'''==
'''NOTE: THIS DOCUMENTATION PAGE IS STILL UNDER CONSTRUCTION'''
'''INFORMATION ON THIS PAGE IS NOT YET UP TO DATE AND MAY CHANGE ANY MOMENT'''
==='''SCIRun/BioPSE V 1.26 Documentation'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
==='''BioPSE PowerApps V1.26 Documentation'''===
----
1464
1463
2006-10-19T21:42:22Z
Jeroen
19
/* '''Documentation''' */
wikitext
text/x-wiki
=='''Documentation'''==
==='''SCIRun/BioPSE V 1.26 Documentation'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
==='''BioPSE PowerApps V1.26 Documentation'''===
----
1465
1464
2006-10-19T21:42:44Z
Jeroen
19
/* '''Documentation''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE V 1.26 Documentation'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
==='''BioPSE PowerApps V1.26 Documentation'''===
----
1469
1465
2006-10-19T21:44:57Z
Jeroen
19
/* '''BioPSE PowerApps V1.26 Documentation''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE V 1.26 Documentation'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
1470
1469
2006-10-19T21:47:28Z
Jeroen
19
/* '''SCIRun/BioPSE V 1.26 Documentation''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE V 1.26 Documentation'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
----
===='''BioPSE PowerApps'''===
1471
1470
2006-10-19T21:47:52Z
Jeroen
19
/* ='''BioPSE PowerApps''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE V 1.26 Documentation'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
----
==='''BioPSE PowerApps'''===
1472
1471
2006-10-19T21:48:03Z
Jeroen
19
/* '''BioPSE PowerApps''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE V 1.26 Documentation'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
----
===='''BioPSE PowerApps'''====
1473
1472
2006-10-19T21:48:27Z
Jeroen
19
/* '''SCIRun/BioPSE V 1.26 Documentation''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE Documentation Version 1.26'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
----
===='''BioPSE PowerApps'''====
1475
1473
2006-10-19T21:49:05Z
Jeroen
19
/* '''SCIRun/BioPSE Documentation Version 1.26''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE Documentation Version 1.26'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
----
===='''BioPSE PowerApps'''====
----
[[CIBC:Documentation|Go back to Documentation]]
1476
1475
2006-10-19T21:58:09Z
Jeroen
19
/* '''SCIRun/BioPSE Documentation Version 1.26''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE and PowerApps Version 1.26'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
----
===='''BioPSE PowerApps'''====
----
[[CIBC:Documentation|Go back to Documentation]]
1513
1476
2006-10-19T21:58:32Z
Jeroen
19
/* '''General Documentation''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE and PowerApps Version 1.26'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes Version 1.26]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
----
===='''BioPSE PowerApps'''====
----
[[CIBC:Documentation|Go back to Documentation]]
CIBC:Documentation:SCIRun:ReleaseNotes:3.0
0
1088
1459
2006-10-19T20:36:40Z
Jeroen
19
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 1.26.0 ==
:SCIRun Version 1.26.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== Bug fixes ===
=== Supported systems ===
* Added support for Intel based Macintosh machines
* Discontinued support for OS X 10.3 or lower
=== New features ===
1460
1459
2006-10-19T21:38:03Z
Jeroen
19
/* Release Notes for SCIRun/BioPSE Version 1.26.0 */
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 1.26.0 ==
:SCIRun Version 1.26.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== Bug fixes ===
=== Supported systems ===
* Added support for Intel based Macintosh machines
* Discontinued support for OS X 10.3 or lower
=== New features ===
----
[[CIBC::Documentation|Go back to Documentation]]
1466
1460
2006-10-19T21:38:24Z
Jeroen
19
/* New features */
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 1.26.0 ==
:SCIRun Version 1.26.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== Bug fixes ===
=== Supported systems ===
* Added support for Intel based Macintosh machines
* Discontinued support for OS X 10.3 or lower
=== New features ===
----
[[CIBC:Documentation|Go back to Documentation]]
1477
1466
2006-10-19T21:45:38Z
Jeroen
19
/* New features */
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 1.26.0 ==
:SCIRun Version 1.26.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== Bug fixes ===
=== Supported systems ===
* Added support for Intel based Macintosh machines
* Discontinued support for OS X 10.3 or lower
=== New features ===
----
[[CIBC:Documentation:SCIRun|Go back to SCIRun Documentation]]
1478
1477
2006-10-20T01:30:12Z
Jeroen
19
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 1.26.0 ==
:SCIRun Version 1.26.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== New features ===
====Installation====
* The make system has been converted to CMAKE (See Installation Guide for details).
* The ThirdParty installation now includes the following packages: LibPNG, LibXML, FreeType, and Glew. All are required for SCIRun.
* The following packages have been removed from ThirdParty: Xerces, ImageMagick.
=== Bug fixes ===
=== Supported systems ===
* Added support for Intel based Macintosh machines
* Discontinued support for OS X 10.3 or lower
----
[[CIBC:Documentation:SCIRun|Go back to SCIRun Documentation]]
1479
1478
2006-10-20T01:40:33Z
Jeroen
19
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 1.26.0 ==
:SCIRun Version 1.26.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== New features ===
====Installation====
* The make system has been converted to CMAKE (See Installation Guide for details).
* The ThirdParty installation now includes the following packages: LibPNG, LibXML, FreeType, and Glew. All are required for SCIRun.
* The following packages have been removed from ThirdParty: Xerces, ImageMagick.
* ThirdParty can now be compiled using the same script for all supported operating systems
====Supported systems====
* Added support for Intel based Macintosh machines.
* Discontinued support for OS X 10.3 or lower (SCIRun now requires the execution of static constructors upon loading a library).
* SCIRun is now supported under Windows XP as well (with the exception of the interactive Matlab modules)
====Visualization====
* The volume renderer supports now a label map (segmentation) to select a specific 2D colormap
* The volume renderer has been rewritten to support larger volumes and automatic bricking if not enough memory is available
* The viewer now supports the visualization of degenerate meshes
* Data located on cell elements is now shown in the viewer using the colormap
* SCIRun now has a model underlying each mesh type of how to interpolate data between nodes.
* Added support for bilinear and trilinear interpolation.
* Added support for visualization of non linear mesh types (Currently limited to visualization).
====Modeling====
* Finite element support has been completely rewritten and now both anisotropic as well as isotropic models are supported for each mesh class in SCIRun.
* A new module has been added that allows better creating Diriclet Boundary Conditions.
=== Bug fixes ===
----
[[CIBC:Documentation:SCIRun|Go back to SCIRun Documentation]]
1480
1479
2006-10-20T01:45:34Z
Jeroen
19
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 1.26.0 ==
:SCIRun Version 1.26.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== New features ===
====Installation====
* The make system has been converted to CMAKE (See Installation Guide for details).
* The ThirdParty installation now includes the following packages: LibPNG, LibXML, FreeType, and Glew. All are required for SCIRun.
* The following packages have been removed from ThirdParty: Xerces, ImageMagick.
* ThirdParty can now be compiled using the same script for all supported operating systems
====Supported systems====
* Added support for Intel based Macintosh machines.
* Discontinued support for OS X 10.3 or lower (SCIRun now requires the execution of static constructors upon loading a library).
* SCIRun is now supported under Windows XP as well (with the exception of the interactive Matlab modules)
====Visualization====
* The volume renderer supports now a label map (segmentation) to select a specific 2D colormap
* The volume renderer has been rewritten to support larger volumes and automatic bricking if not enough memory is available
* The viewer now supports the visualization of degenerate meshes
* Data located on cell elements is now shown in the viewer using the colormap
* SCIRun now has a model underlying each mesh type of how to interpolate data between nodes.
* Added support for bilinear and trilinear interpolation.
* Added support for visualization of non linear mesh types (Currently limited to visualization).
====Modeling====
* Finite element support has been completely rewritten and now both anisotropic as well as isotropic models are supported for each mesh class in SCIRun.
* A new module has been added that allows better creating Diriclet Boundary Conditions.
====Network Editor====
* The network editor now blocks all editing while a network is executing (In the next release we will enable this feature again if scheduling problems have been fixed).
* Improved synchroniztion of Viewer and Network.
* The network editor is now able to save relative filenames for increased portablity between systems.
===Modules===
* All modules have been given a new name.
=== Bug fixes ===
* Performance issues with Dense and Sparse matrix multiplications have been fixed.
* Performance issues with isosurface generation have been fixed
----
[[CIBC:Documentation:SCIRun|Go back to SCIRun Documentation]]
CIBC:Documentation:SCIRun:Reference
0
1089
1453
2006-10-19T20:56:16Z
Jeroen
19
wikitext
text/x-wiki
=='''SCIRun Module Descriptions'''==
'''SCIRun'''
;[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun Modules]]
:Reference documentation on all modules inside the Core of SCIRun
'''Packages (stable)'''
;[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE Modules]]
:This extension package has modules for doing bioelectic field calculations
;[[CIBC:Documentation:SCIRun:Reference:Insight|Insight Modules]]
:This extension package contains an interface to the Insight ToolKit
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface Modules]]
:This extension package contains an interface to Matlab
;[[CIBC:Documentation:SCIRun:Reference:Teem|Teem Modules]]
:This extension package contains an interface to the Teem library
'''Packages (under development)'''
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CarioWaveInterface Modules]]
:This extension package contains an interface to the CardioWave simulator
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation Modules]]
:A sandbox containing modeling and meshing tools, that ultimately will be integrated in the core of SCIRun
1458
1453
2006-10-19T21:12:50Z
Jeroen
19
/* '''SCIRun Module Descriptions''' */
wikitext
text/x-wiki
=='''Module Reference'''==
'''SCIRun'''
;[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun Modules]]
:Reference documentation on all modules inside the Core of SCIRun
'''Packages (stable)'''
;[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE Modules]]
:This extension package has modules for doing bioelectic field calculations
;[[CIBC:Documentation:SCIRun:Reference:Insight|Insight Modules]]
:This extension package contains an interface to the Insight ToolKit
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface Modules]]
:This extension package contains an interface to Matlab
;[[CIBC:Documentation:SCIRun:Reference:Teem|Teem Modules]]
:This extension package contains an interface to the Teem library
'''Packages (under development)'''
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CarioWaveInterface Modules]]
:This extension package contains an interface to the CardioWave simulator
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation Modules]]
:A sandbox containing modeling and meshing tools, that ultimately will be integrated in the core of SCIRun
1461
1458
2006-10-19T21:36:57Z
Jeroen
19
wikitext
text/x-wiki
=='''Module Reference'''==
'''SCIRun'''
;[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun Modules]]
:Reference documentation on all modules inside the Core of SCIRun
'''Packages (stable)'''
;[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE Modules]]
:This extension package has modules for doing bioelectic field calculations
;[[CIBC:Documentation:SCIRun:Reference:Insight|Insight Modules]]
:This extension package contains an interface to the Insight ToolKit
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface Modules]]
:This extension package contains an interface to Matlab
;[[CIBC:Documentation:SCIRun:Reference:Teem|Teem Modules]]
:This extension package contains an interface to the Teem library
'''Packages (under development)'''
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CarioWaveInterface Modules]]
:This extension package contains an interface to the CardioWave simulator
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation Modules]]
:A sandbox containing modeling and meshing tools, that ultimately will be integrated in the core of SCIRun
----
[[CIBC:Documentation|Go back to documentation]]
1467
1461
2006-10-19T21:40:13Z
Jeroen
19
/* '''Module Reference''' */
wikitext
text/x-wiki
=='''Module Reference'''==
'''SCIRun'''
;[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun Modules]]
:Reference documentation on all modules inside the Core of SCIRun
'''Packages (stable)'''
;[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE Modules]]
:This extension package has modules for doing bioelectic field calculations
;[[CIBC:Documentation:SCIRun:Reference:Insight|Insight Modules]]
:This extension package contains an interface to the Insight ToolKit
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface Modules]]
:This extension package contains an interface to Matlab
;[[CIBC:Documentation:SCIRun:Reference:Teem|Teem Modules]]
:This extension package contains an interface to the Teem library
'''Packages (under development)'''
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CarioWaveInterface Modules]]
:This extension package contains an interface to the CardioWave simulator
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation Modules]]
:A sandbox containing modeling and meshing tools, that ultimately will be integrated in the core of SCIRun
----
[[CIBC:Documentation|Go back to Documentation]]
1468
1467
2006-10-19T21:46:09Z
Jeroen
19
/* '''Module Reference''' */
wikitext
text/x-wiki
=='''Module Reference'''==
'''SCIRun'''
;[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun Modules]]
:Reference documentation on all modules inside the Core of SCIRun
'''Packages (stable)'''
;[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE Modules]]
:This extension package has modules for doing bioelectic field calculations
;[[CIBC:Documentation:SCIRun:Reference:Insight|Insight Modules]]
:This extension package contains an interface to the Insight ToolKit
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface Modules]]
:This extension package contains an interface to Matlab
;[[CIBC:Documentation:SCIRun:Reference:Teem|Teem Modules]]
:This extension package contains an interface to the Teem library
'''Packages (under development)'''
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CarioWaveInterface Modules]]
:This extension package contains an interface to the CardioWave simulator
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation Modules]]
:A sandbox containing modeling and meshing tools, that ultimately will be integrated in the core of SCIRun
----
[[CIBC:Documentation:SCIRun|Go back to Documentation]]
1518
1468
2006-10-19T21:46:25Z
Jeroen
19
/* '''Module Reference''' */
wikitext
text/x-wiki
=='''Module Reference'''==
'''SCIRun'''
;[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun Modules]]
:Reference documentation on all modules inside the Core of SCIRun
'''Packages (stable)'''
;[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE Modules]]
:This extension package has modules for doing bioelectic field calculations
;[[CIBC:Documentation:SCIRun:Reference:Insight|Insight Modules]]
:This extension package contains an interface to the Insight ToolKit
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface Modules]]
:This extension package contains an interface to Matlab
;[[CIBC:Documentation:SCIRun:Reference:Teem|Teem Modules]]
:This extension package contains an interface to the Teem library
'''Packages (under development)'''
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CarioWaveInterface Modules]]
:This extension package contains an interface to the CardioWave simulator
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation Modules]]
:A sandbox containing modeling and meshing tools, that ultimately will be integrated in the core of SCIRun
----
[[CIBC:Documentation:SCIRun|Go back to SCIRun Documentation]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface
0
1090
1454
2006-10-19T21:31:21Z
Jeroen
19
wikitext
text/x-wiki
=='''MatlabInterface Reference'''==
==='''Package Description'''===
This package adds an interface to Matlab to SCIRun. The package contains an interface, which allows for small Matlab scripts to be inserted into SCIRun's dataflow networks and a converter to import and export SCIRun dataflow objects as Matlab files.
==='''Module Reference'''===
===='''Interface'''====
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceWithMatlab|InterfaceWithMatlab]]
:Module for interactively communicating with Matlab
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceWithMatlabViaBundles|InterfaceWithMatlabViaBundles]]
:Module for interactively communicating with Matlab using Bundles
===='''DataIO'''====
1457
1454
2006-10-19T21:31:38Z
Jeroen
19
wikitext
text/x-wiki
=='''MatlabInterface Reference'''==
==='''Package Description'''===
This package adds an interface to Matlab to SCIRun. The package contains an interface, which allows for small Matlab scripts to be inserted into SCIRun's dataflow networks and a converter to import and export SCIRun dataflow objects as Matlab files.
----
==='''Module Reference'''===
===='''Interface'''====
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceWithMatlab|InterfaceWithMatlab]]
:Module for interactively communicating with Matlab
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceWithMatlabViaBundles|InterfaceWithMatlabViaBundles]]
:Module for interactively communicating with Matlab using Bundles
===='''DataIO'''====
1486
1457
2006-10-19T21:35:59Z
Jeroen
19
wikitext
text/x-wiki
=='''MatlabInterface Reference'''==
==='''Package Description'''===
This package adds an interface to Matlab to SCIRun. The package contains an interface, which allows for small Matlab scripts to be inserted into SCIRun's dataflow networks and a converter to import and export SCIRun dataflow objects as Matlab files.
----
==='''Module Reference'''===
===='''Interface'''====
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceWithMatlab|InterfaceWithMatlab]]
:Module for interactively communicating with Matlab
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceWithMatlabViaBundles|InterfaceWithMatlabViaBundles]]
:Module for interactively communicating with Matlab using Bundles
===='''DataIO'''====
-----
[[CIBC:Documentation:SCIRun:Reference|Go back to Reference Documentation]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceToMatlab
0
1091
3231
2006-10-19T21:33:21Z
Jeroen
19
CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceToMatlab moved to CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceWithMatlab
wikitext
text/x-wiki
#REDIRECT [[CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceWithMatlab]]
CIBC:Documentation
0
1092
1474
2006-10-19T21:44:37Z
Jeroen
19
CIBC:Documentation moved to CIBC:Documentation:SCIRun
wikitext
text/x-wiki
#REDIRECT [[CIBC:Documentation:SCIRun]]
1641
1474
2006-10-19T21:57:40Z
Jeroen
19
wikitext
text/x-wiki
=='''Documentation Portal'''==
This page contains links to the documentation for the various software projects that are being developed as part of the 'Center for Integrative BioMedical Computing'.
===Software Documentation===
;[[CIBC:Documentation:SCIRun|SCIRun/BioPSE]]
:Problem Solving Environment for BioMedical Applications
;[[CIBC:Documentation:SCIRun|BioImage]]
:Application for displaying and analyzing biomedical images
;[[CIBC:Documentation:SCIRun|BioTensor]]
:Application for displaying and analyzing tensor data
;[[CIBC:Documentation:SCIRun|BioFEM]]
:Application for calculating electric fields in a finite element mesh
CIBC:Documentation:SCIRun:ReleaseNotes:3.0
0
1088
1512
1480
2006-10-20T01:48:02Z
Jeroen
19
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 1.26.0 ==
:SCIRun Version 1.26.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== New features ===
====Installation====
* The make system has been converted to CMAKE (See Installation Guide for details).
* The ThirdParty installation now includes the following packages: LibPNG, LibXML, FreeType, and Glew. All are required for SCIRun.
* The following packages have been removed from ThirdParty: Xerces, ImageMagick.
* ThirdParty can now be compiled using the same script for all supported operating systems
====Supported systems====
* Added support for Intel based Macintosh machines.
* Discontinued support for OS X 10.3 or lower (SCIRun now requires the execution of static constructors upon loading a library).
* SCIRun is now supported under Windows XP as well (with the exception of the interactive Matlab modules)
====Visualization====
* The volume renderer supports now a label map (segmentation) to select a specific 2D colormap
* The volume renderer has been rewritten to support larger volumes and automatic bricking if not enough memory is available
* The viewer now supports the visualization of degenerate meshes
* Data located on cell elements is now shown in the viewer using the colormap
* SCIRun now has a model underlying each mesh type of how to interpolate data between nodes.
* Added support for bilinear and trilinear interpolation.
* Added support for visualization of non linear mesh types (Currently limited to visualization).
====Modeling====
* Finite element support has been completely rewritten and now both anisotropic as well as isotropic models are supported for each mesh class in SCIRun.
* A new module has been added that allows better creating Diriclet Boundary Conditions.
====Network Editor====
* The network editor now blocks all editing while a network is executing (In the next release we will enable this feature again if scheduling problems have been fixed).
* Improved synchroniztion of Viewer and Network.
* The network editor is now able to save relative filenames for increased portablity between systems.
====Modules====
* All modules have been given a new name.
====Documentation====
* Documentation has been merged over into a Wiki, so users can help updating and documenting the software system.
=== Bug fixes ===
* Performance issues with Dense and Sparse matrix multiplications have been fixed.
* Performance issues with isosurface generation have been fixed
----
[[CIBC:Documentation:SCIRun|Go back to SCIRun Documentation]]
Main Page
0
1
1495
1481
2006-10-20T17:39:29Z
Mjc
35
/* Development Info */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
CIBC:Project:module development
0
1093
1482
2006-10-20T17:58:48Z
Mjc
35
wikitext
text/x-wiki
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by Package::Category::ModuleName
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages. Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category. Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
Our first example: "Hello World!" -- SCIRun style.
SCIRun::Examples::PrintHelloWorldToScreen
To find the source code for PrintHelloWorldToScreen, we now know to look in [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc
1483
1482
2006-10-20T18:01:52Z
Mjc
35
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
=== Examples ===
Our first example: "Hello World!" -- SCIRun style.
SCIRun::Examples::PrintHelloWorldToScreen
To find the source code for PrintHelloWorldToScreen, we now know to look in [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc
1497
1483
2006-10-20T18:04:13Z
Mjc
35
/* Examples */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
To find the source code for PrintHelloWorldToScreen, we now know to look in [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc
CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab
0
1071
1485
1484
2006-10-20T18:56:27Z
Jeroen
19
/* '''InterfaceWithMatlab''' */
wikitext
text/x-wiki
== '''InterfaceWithMatlab''' ==
===Information===
: Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
: Catagory: Interface
: Last modified: 19 October 2006
: Author(s): Jeroen Stinstra
: Status: Supported in latest version
: Version: '''1.26''' [[CIBC:Documentation:SCIRun:1.24:Reference:MatlabInterface:Interface:InterfaceWithMatlab:|1.24]]
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
[[CIBC:Documentation:SCIRun:Rereference:MatlabInterface|Go back to MatlabInterface]]
1487
1485
2006-10-20T18:57:02Z
Jeroen
19
/* See Also */
wikitext
text/x-wiki
== '''InterfaceWithMatlab''' ==
===Information===
: Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
: Catagory: Interface
: Last modified: 19 October 2006
: Author(s): Jeroen Stinstra
: Status: Supported in latest version
: Version: '''1.26''' [[CIBC:Documentation:SCIRun:1.24:Reference:MatlabInterface:Interface:InterfaceWithMatlab:|1.24]]
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
=== See Also ===
:[[CIBC:Documentation:MatlabInterface:Interface::InterfaceToMatlabViaBundles|InterfaceToMatlabViaBundles]]
----
[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|Go back to MatlabInterface]]
1488
1487
2006-10-20T19:07:09Z
Jeroen
19
/* See Also */
wikitext
text/x-wiki
== '''InterfaceWithMatlab''' ==
===Information===
: Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
: Catagory: Interface
: Last modified: 19 October 2006
: Author(s): Jeroen Stinstra
: Status: Supported in latest version
: Version: '''1.26''' [[CIBC:Documentation:SCIRun:1.24:Reference:MatlabInterface:Interface:InterfaceWithMatlab:|1.24]]
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
----
[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|Go back to MatlabInterface]]
1489
1488
2006-10-20T19:07:24Z
Jeroen
19
/* Recent Changes */
wikitext
text/x-wiki
== '''InterfaceWithMatlab''' ==
===Information===
: Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
: Catagory: Interface
: Last modified: 19 October 2006
: Author(s): Jeroen Stinstra
: Status: Supported in latest version
: Version: '''1.26''' [[CIBC:Documentation:SCIRun:1.24:Reference:MatlabInterface:Interface:InterfaceWithMatlab:|1.24]]
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|Go back to MatlabInterface]]
1490
1489
2006-10-20T20:23:03Z
Jeroen
19
wikitext
text/x-wiki
== '''InterfaceWithMatlab''' ==
===Information===
: Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
: Catagory: Interface
: Last modified: {{CURRENTDAY}} October 2006, {{CURRENTTIME}}
: Author(s): Jeroen Stinstra
: Status: Supported in latest version
: Version: '''1.26''' [[CIBC:Documentation:SCIRun:1.24:Reference:MatlabInterface:Interface:InterfaceWithMatlab:|1.24]]
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|Go back to MatlabInterface]]
1491
1490
2006-10-20T20:25:04Z
Jeroen
19
/* Information */
wikitext
text/x-wiki
== '''InterfaceWithMatlab''' ==
===Information===
: Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
: Catagory: Interface
: Last modified: {{CURRENTDAY}} {{CURRENTMONTH}} {{CURRENTYEAR}}, {{CURRENTTIME}}
: Author(s): Jeroen Stinstra
: Status: Supported in latest version
: Version: '''1.26''' [[CIBC:Documentation:SCIRun:1.24:Reference:MatlabInterface:Interface:InterfaceWithMatlab:|1.24]]
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|Go back to MatlabInterface]]
1492
1491
2006-10-20T20:25:19Z
Jeroen
19
/* Information */
wikitext
text/x-wiki
== '''InterfaceWithMatlab''' ==
===Information===
: Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
: Catagory: Interface
: Last modified: {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, {{CURRENTTIME}}
: Author(s): Jeroen Stinstra
: Status: Supported in latest version
: Version: '''1.26''' [[CIBC:Documentation:SCIRun:1.24:Reference:MatlabInterface:Interface:InterfaceWithMatlab:|1.24]]
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|Go back to MatlabInterface]]
1493
1492
2006-10-20T20:29:15Z
Jeroen
19
/* Information */
wikitext
text/x-wiki
== '''InterfaceWithMatlab''' ==
===Information===
: Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
: Catagory: Interface
: Last modified: 20 October 2006
: Author(s): Jeroen Stinstra
: Status: Supported in latest version
: Version: '''1.26''' [[CIBC:Documentation:SCIRun:1.24:Reference:MatlabInterface:Interface:InterfaceWithMatlab:|1.24]]
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|Go back to MatlabInterface]]
1577
1493
2006-10-20T20:37:46Z
Jeroen
19
/* Information */
wikitext
text/x-wiki
== '''InterfaceWithMatlab''' ==
===Information===
: Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
: Catagory: Interface
: Author(s): Jeroen Stinstra
: Status: Supported in latest version
: Version: '''1.26''' [[CIBC:Documentation:SCIRun:1.24:Reference:MatlabInterface:Interface:InterfaceWithMatlab:|1.24]]
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps
to integrate Matlab code into SCIRun, (1) it translates a SCIRun object
(field/matrix/nrrd/string) into a matlabarray and puts the object in the current
workspace of Matlab, (2) it executes Matlab code that can be provided
within the interface, (3) it translates back the matlabarrays in Matlab's
workspace into SCIRun objects.
====Overview====
This module launches Matlab as a separate process under control of
SCIRun. The process can be on a remote machine or a local machine. In
case the module is running on a remote machine the communication with
matlab will be through sockets. In the latter case the entry fields in
the middle panel of the GUI will need to be filled out with the IP
address (it will automatically do a DNS lookup), the port number and a
password. A password is only necessary for a remote Matlab engine that
is configured to require a password when launching Matlab. The current
implementation has an optional password in the matlabegine.rc, if this
field is left empty no password check is done. The current
implementation does not make use of secure sockets, this
implementation is still under development. In order to run multiple
Matlab processes simultaneously different sessions can be launched.
Each session on the same machine will share the global workspace in
Matlab and code is being executed sequentially for all modules making
use of that session. Hence variables declared in the global workspace
can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the
Matlab OUTPUT window. The module needs to be executed in order to
launch matlab, but will then remain active until the module is
destroyed. Alternatively Matlab can be launched from the MatlabEngine
Status panel in the right lower corner. It can be disconnected using
the 'disconnect' button in the same panel. That the Matlabprocess is
kept alive between executions is done to smoothen the executing of
matlab networks and as well to be able to store variables in matlab's
workspace for later usage. However before the module is executed the
translation table of SCIRun objects to matlab objects needs to be
setup. This is accomplished by connecting the SCIRun object to one of
the input ports on the module. Note that there are ports for Matrices,
Fields and Nrrds. In the translation menu the Field section deals with
the translation of fields, the Matrix section with the translation of
Matrices and the Nrrd section with the translation of the nrrds. Each
line in this translation table refers to one set of input and output
ports. First of all the module will need to know how the object should
be called in Matlab, it is going to be a matlab array and thus needs
to have a name. Then depending on the SCIRun object the object can be
translated into structured arrays or numeric arrays, whose numeric
format can be set as well. See the sections below for more details.
Then at the end of the line the name of the matlab array that needs to
be translated back into a SCIRun object. Here a name is sufficient as
the translation process will do the rest. The name can be the same as
the input array, but it might refer to another array as well.
The process of running code in Matlab is accomplished as follows:
SCIRun will translate the SCIRun objects into matlab compatible
objects and write them in a file and then instructs matlab to read
this file. Since all communication is through the stdin of matlab,
using files makes sure that the data does not have to be written out
in ASCII readable code. The module is smart enough to recognize that
it translated objects before. If this is the case it will not do the
translation again and it will use the file already generated. When
loading data into matlab the objects that were already there with the
same name will be overwritten. Subsequently the module will take the
code the user entered in the GUI and wrap it in a 'try/catch'
environment and execute it in matlab. All output generated on the
stdout will be displayed in the module. It will write a tag of when
the code starts executing as well one on when the code finished
executing. These are markers for the module to keep track of when
matlab finishes executing code. Please make sure that your progam does
NOT generate output that resembles these markers as it will confuse
the Matlab Interface. Once the end marker is encountered, the module
will instruct matlab to save the variables in the workspace so they
can be read in by SCIRun.
The third window on the bottom will show the current status of the
matlab engine. Note: when session 0 is requested a new session number
will be assigned to the matlab process, which has not been used
before. The new session number will appear in this status window. This
option can be used to give each MatlabInterface Module its own matlab
process running in the background.
====Local Configuration====
Before the module can be used, SCIRun needs to know how to run
matlab on the local machine. This is accomplished by the configuration
file 'matlabengine.rc', which will be created in the SCIRun/services
directory in your local HOME directory. This file is copied out of the
src tree the first time SCIRun is run. This file configures how matlab
should be run. Edit the line 'startmatlab=' to instruct SCIRun how
matlab should be started from an 'sh'-compatible shell. If matlab can
already be found using the PATH settings in the shell launching
SCIRun, this line probably does not need to be altered. All other
fields in this file refer to running matlab on a remote machine. In
case SCIRun will not be able to launch matlab a message will be
displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE
ADDRESS' in the GUI needs to have an empty Address and does not
require a port. SCIRun will in this case automatically launch matlab
locally. In the latter case no password checks are done. The local
manager does support multiple sessions. To clarify the word session: a
session is a matlab process. When multiple Matlab modules make use of
the same session the workspace in matlab is shared. Hence one module
can be used to load a large matrix into matlab, whereas another one
can be used to iterate over a process with small matrices, while using
the big matrix stored by the first one. This will allow for some
efficiency improvements.
====Remote Configuration====
In order to run matlab on a different machine then SCIRun,
a small server program needs to be run on the remote machine. The
latter is called 'scirunremote', this program sets up a socket for
listening and launches matlab when a request is made on its socket.
This program uses the same 'matlabengine.rc' file as the module
(though it will look in the local HOME directory of the remote
machine). This configuration file can be used to set a password,
restrict login to only certain machines in a certain domain. Currently
the communication is over an open socket in the future an openssl
implementation will be used for secure connections. In order to launch
the scirunremote program, type 'scirunremote -port 5678', or which
ever port you want to use. The latter program must be run on the
remote system and serves as a daemon for starting all kinds of
external programs. When launching this application a list of services
will be displayed. For the matlab engine to work properly two services
need to be switched on: matlabengine and matlabenginefiletransfer. The
currently implementation requires the last one even if there is a
shared home directory. In the latter case no files are transfered, and
only the names of the directories in which temporary files are stored
are exchanged. The latter mechanism will reduce the amount of network
traffic and hopefully speed up the function of this module.
====Configuration File====
This section shortly lists the different options that can be set
in the configuration file 'SCIRun/services/matlabengine.rc'
:'''START MATLAB''': This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
:'''DISABLE''': This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
:'''PASSWORD''': A simple password, as a first line of defense. Better ways will follow.
:'''RHOSTS''': A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
:'''MATLABTIMEOUT''': How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:InterfaceToMatlab_GUI1.png]]
The GUI is subdivided into three mainparts. The top panel controls
the translation from SCIRun objects into matlab objects and vice
versa. The middle panel controls where the matlab engine is started
and whether a matlab engine is shared with another Matlab module. The
lower panel displays the matlab code that needs to be executed and the
output from matlab. The subdivision is shown in figure 1.
[[Image:InterfaceToMatlabGUI2.png]]
The first panel configures the matlabconverter which is used to
translate SCIRun objects into matlab objects and vice versa. The SCIRun
objects are translated into matlab files which are stored in a
temparory directory that is automatically generated and are
subsequently read by matlab. For the translation back into SCIRun a
similar mechanism is used which tells matlab to write out the results
in matlab files and these files are subsequently loaded into SCIRun.
The input options are the same as for the other modules: the first
field on the left controls the name that an object has in matlab. This
name has to be alphanumeric and needs to adhere to Matlab's naming
convention. When writing matlab code this name can be used to access
the object. The second parameter in the list controls the data format
used for the matlab objects, i.e. whether the data is written as
doubles, floats, or ints; the third parameter controls what kind of
object is created. For matrices and nrrd the most logical translation
is a multi dimensional matrix, which is thence the default. All the
properties and axis settings are lost in such a translation. Hence the
option is offered to translate the SCIRun object into a structured
array in which each field represents one of the dataelements stored in
that SCIRun object. The documentation on which fieldnames are used and
how the object is translated, can be found in the documentation of the
individual modules doing this translation. A summary of how
geometrical data is represented is given below. Concerning the output
variables, only the name needs to be known. If the object is not
compatible an error message will be generated in the error message GUI
of module. This message will also explain why the object could not be
translated.
[[Image:InterfaceToMatlabGUI3.png]]
The second panel tells SCIRun where to launch MATLAB. For a matlab
engine on the local machine leave the Address field empty. For a
remote engine enter the DNS or IP address of the remote server. The
engine should support IPv6 addresses, although the support has not
fully been tested. The second field is the port number for a remote
matlab process. Currently the program scirunremote needs to be run on
the remote side. This program will allow SCIRun to connect to this
machine and run all kinds of remote applications. The program
scirunremote needs to be run with a port number, this is the number
that needs to be entered here. Optionally a password protection can be
added. Currently the implementation of the password is a weak
protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a
certain host is identified by a unique number. This number is stored
by the program launching matlab (scirun on the local machine and
scirunremote on the remote machine) and is used to see whether a
session is already open. If multiple Matlab modules refer to the same
session, no new matlab engine will be opened in stead these modules
will share the use of the matlab engine. If session '0' is used a new
non existing session number will be assigned by the matlab engine.
[[Image:InterfaceToMatlabGUI4.png]]
The lower panel contains there parts: the first for setting the
code matlab needs to execute, the second for displaying matlab's
output and the third for displaying the current status of the matlab
engine. The code to be entered should assume that the matrices that
have been created out of SCIRun objects already reside in the work
space of matlab. In the code that maintains this absolute paths are
used to ensure that the matrices can be found. The code will also be
embedded in a try-catch statement to make sure that an end marker is
generated even if the code crashes. All these measures to run code are
hidden in the engine and the user should not worry about them for
simple code. The code in that needs to be execute can be loaded and
saved as well. So for more complex tasks the matlab code can be
written in a different more userfriendly text editor. The extension of
the filenames need to .m and are similar to matlab scripts. Please do
not confuse these with functions. The latter will not work as
functions need the input to be parsed to them. If a function call is
desired, put the instruction that calls the function in the matlab
code field and not the function code itself.
The second part of the lower panel contains the matlab output. It
will display all the output generated by matlab. Currently, it can
parse input as well, though that is limited to normal keystrokes.
Simple commands may be given, but still the full functionality as
found in a shell is not present yet. This latter feature is still
experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of
the matlab engine. The information stored here can be used for
debugging and to see whether the matlab engine is running properly.
The connection to matlab engine can be closed here as well and new
connections can be made without the need of executing the module.
----
=== Frequently Asked Questions ===
==== Can I use functions in Matlab Code Entry field? ====
The module at this point does not support any support to define matlab functions within the interface module. One has to define functions in a separate matlab .m file. The module only gives access to the main Workspace. One can call functions from the matlab script by typing the name of the function and saving the function in a separate file.
----
=== Known Bugs ===
----
=== Recent Changes ===
Support for fields with no data was fixed (r35504)-- jeroen
----
[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|Go back to MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceWithMatlab
0
1094
3234
2006-10-20T18:58:07Z
Jeroen
19
CIBC:Documentation:SCIRun:Reference:MatlabInterface:Interface:InterfaceWithMatlab moved to CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab
wikitext
text/x-wiki
#REDIRECT [[CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface
0
1090
1522
1486
2006-10-20T19:06:22Z
Jeroen
19
/* '''Interface''' */
wikitext
text/x-wiki
=='''MatlabInterface Reference'''==
==='''Package Description'''===
This package adds an interface to Matlab to SCIRun. The package contains an interface, which allows for small Matlab scripts to be inserted into SCIRun's dataflow networks and a converter to import and export SCIRun dataflow objects as Matlab files.
----
==='''Module Reference'''===
===='''Interface'''====
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab|InterfaceWithMatlab]]
:Module for interactively communicating with Matlab
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlabViaBundles|InterfaceWithMatlabViaBundles]]
:Module for interactively communicating with Matlab using Bundles
===='''DataIO'''====
-----
[[CIBC:Documentation:SCIRun:Reference|Go back to Reference Documentation]]
CIBC:Documentation:SCIRun:Reference:SCIRun
0
1095
1494
2006-10-20T22:29:59Z
Jeroen
19
wikitext
text/x-wiki
=='''SCIRun Reference'''===
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a 'bundle' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a 'colormap2' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a 'colormap' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a 'field' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a 'matrix' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a 'nrrd' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a 'path' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a 'string' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module adds a 'bundle' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module adds a 'colormap2' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module adds a 'colormap' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module adds a 'field' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module adds a 'matrix' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module adds a 'nrrd' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module adds a 'path' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module adds a 'string' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldData2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldData3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a bundle from disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:The ColorMap Read a persistent colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:The ColorMap2 Read a persistent 2d colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:ReadField allows the user to load-in any of the SCIRun supported Field types and then sends that Field to another module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:The ReadMatrix moudle reads a persistent matrix from a file and sends that matrix to another module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:The ReadPath module reads a persistent camera path from a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a bundle to disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:Saves persistent field objects received from upstream modules.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:The WriteMatrix modules saves a persistent representation of a matrix to disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:The WritePath module saves persistent representation of a path to a file.
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|AppendMatrix]]
:Composite a matrix from components.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
[[CIBC:Documentation:SCIRun:Reference|Go back to Reference Documentation]]
1523
1494
2006-10-20T22:51:41Z
Jeroen
19
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a 'bundle' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a 'colormap2' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a 'colormap' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a 'field' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a 'matrix' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a 'nrrd' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a 'path' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a 'string' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module adds a 'bundle' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module adds a 'colormap2' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module adds a 'colormap' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module adds a 'field' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module adds a 'matrix' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module adds a 'nrrd' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module adds a 'path' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module adds a 'string' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldData2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldData3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a bundle from disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:The ColorMap Read a persistent colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:The ColorMap2 Read a persistent 2d colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:ReadField allows the user to load-in any of the SCIRun supported Field types and then sends that Field to another module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:The ReadMatrix moudle reads a persistent matrix from a file and sends that matrix to another module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:The ReadPath module reads a persistent camera path from a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a bundle to disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:Saves persistent field objects received from upstream modules.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:The WriteMatrix modules saves a persistent representation of a matrix to disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:The WritePath module saves persistent representation of a path to a file.
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|AppendMatrix]]
:Composite a matrix from components.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
[[CIBC:Documentation:SCIRun:Reference|Go back to Reference Documentation]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle
0
1096
1528
2006-10-20T22:33:47Z
Jeroen
19
wikitext
text/x-wiki
=='''GetBundlesFromBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module retrieves a 'bundle' object from a bundle.
====Detailed Description====
This module retrieves a 'bundle' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'bundle' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle
0
1097
1556
2006-10-20T22:40:14Z
Jeroen
19
wikitext
text/x-wiki
=='''GetColorMapsFromBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module retrieves a 'colormap' object from a bundle.
====Detailed Description====
This module retrieves a 'colormap' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'colormap' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle
0
1098
1557
2006-10-20T22:40:45Z
Jeroen
19
wikitext
text/x-wiki
=='''GetFieldsFromBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module retrieves a 'field' object from a bundle.
====Detailed Description====
This module retrieves a 'field' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'field' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle
0
1099
1558
2006-10-20T22:41:34Z
Jeroen
19
wikitext
text/x-wiki
=='''GetMatricesFromBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module retrieves a 'matrix' object from a bundle.
====Detailed Description====
This module retrieves a 'matrix' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'matrix' object.
Since Nrrd and Matrix objects can represent the same kind of data. The bundle class has a built in converter from matrix to nrrd. Hence all compatible matrix objects are listed as well and will be converted on the spot if they are selected.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle
0
1100
1559
2006-10-20T22:42:44Z
Jeroen
19
wikitext
text/x-wiki
=='''GetNrrdsFromBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module retrieves a 'nrrd' object from a bundle.
====Detailed Description====
This module retrieves a 'nrrd' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'nrrd' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle
0
1101
1516
2006-10-20T22:43:27Z
Jeroen
19
wikitext
text/x-wiki
=='''GetPathsFromBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module retrieves a 'path' object from a bundle.
====Detailed Description====
This module retrieves a 'path' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'path' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle
0
1102
1561
2006-10-20T22:44:28Z
Jeroen
19
wikitext
text/x-wiki
=='''GetStringsFromBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module retrieves a 'string' object from a bundle.
====Detailed Description====
This module retrieves a 'string' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'string' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle
0
1103
1562
2006-10-20T22:45:59Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertBundlesIntoBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module adds a 'bundle' object to a bundle stream.
====Detailed Description====
This module adds a 'bundle' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'bundle' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'bundle' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle
0
1104
1563
2006-10-20T22:47:22Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertColorMapsIntoBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module adds a 'colormap' object to a bundle stream.
====Detailed Description====
This module adds a 'colormap' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'colormap' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'colormap' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle
0
1105
1564
2006-10-20T22:48:21Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertFieldsIntoBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module adds a 'field' object to a bundle stream.
====Detailed Description====
This module adds a 'field' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'field' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'field' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle
0
1106
1565
2006-10-20T22:48:51Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertMatricesIntoBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module adds a 'matrix' object to a bundle stream.
====Detailed Description====
This module adds a 'matrix' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'matrix' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'matrix' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle
0
1107
1566
2006-10-20T22:49:47Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertNrrdsIntoBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module adds a 'nrrd' object to a bundle stream.
====Detailed Description====
This module adds a 'nrrd' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'nrrd' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'nrrd' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle
0
1108
1567
2006-10-20T22:50:21Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertPathsIntoBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module adds a 'path' object to a bundle stream.
====Detailed Description====
This module adds a 'path' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'path' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'path' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle
0
1109
1568
2006-10-20T22:50:45Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertStringsIntoBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module adds a 'string' object to a bundle stream.
====Detailed Description====
This module adds a 'string' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'string' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'string' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles
0
1110
1569
2006-10-20T22:51:15Z
Jeroen
19
wikitext
text/x-wiki
=='''JoinBundles'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This merges the contents of multiple bundles into one bundle.
====Detailed Description====
This merges the contents of multiple bundles into one bundle. If the same object name exists in multiple bundles the one from the right most input is chosen and the other one will be purged.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo
0
1111
1573
2006-10-20T22:52:32Z
Jeroen
19
wikitext
text/x-wiki
=='''ReportBundleInfo'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module lists all the objects stored in a bundle.
====Detailed Description====
This module lists all the objects stored in a bundle. The names of all the objects are listed as well their types.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix
0
1112
1544
2006-10-20T22:53:20Z
Jeroen
19
wikitext
text/x-wiki
=='''ApplyMappingMatrix'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Apply a mapping matrix to project the data from one field onto the mesh of another field.
====Detailed Description====
This module maps the "Source" field onto the geometry of the "Destination" field using the "Mapping" matrix to do the projection.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled
0
1113
1545
2006-10-20T22:53:47Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateFieldData'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Perform a specified functional transform on all of the data in a field.
====Detailed Description====
Compute the specified function on each data element in the input field.
The data transform is specified in the GUI as the body of a C++ function. The input values to the function are x, y, z, and v, where x, y, and z are the positions of the data point and v is the value of the input field's data element. No value is returned, rather set the 'result' variable to the return type. For example, "result = x + v;" would return a new field containing the x position of each element added with the value that was already there. "result = v.x();" could be used to extract the x component of a vector field into a scalar field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled2
0
1114
1546
2006-10-20T22:54:14Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateFieldData2'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Perform a specified functional transform to each pair of data elements in the two input fields.
====Detailed Description====
Compute the specified function for each pair of corresponding data elements in the input fields. In order to correspond the data points, this module requires that the two input fields share the same mesh and have their data at the same location.
The data transform is specified in the GUI as the body of a C++ function. The input values to the function are the x, y, and z positions of the data point, v0 for the first field's data element and v1 for the second field's data element. No value is returned, rather set the 'result' variable to the return type. For example, "result = v0 + v1;" would add each of the corresponding elements of the two fields.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled3
0
1115
1547
2006-10-20T22:54:37Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateFieldData3'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Perform a specified functional transform on all of the data in a field.
====Detailed Description====
Compute the specified function for each tripple of corresponding data elements in the input fields. In order to correspond the data points, this module requires that the three input fields share the same mesh and have their data at the same location.
The data transform is specified in the GUI as the body of a C++ function. The input values to the function are the x, y, and z positions of the data point, v0 for the first field's data element, v1 for the second field's data element, and v2 for the third field's data element. No value is returned, rather set the 'result' variable to the return type. For example, "result = v0 + v1 + v3;" would add each of the corresponding elements of the two fields. "result = Vector(v0, v1, v2);" would concatenate the values of three scalar fields into a vector field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients
0
1116
1548
2006-10-20T22:54:59Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateGradients'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Compute the derivative of a scalar field and output it as a vector field.
====Detailed Description====
The CalculateGradients module computes the derivative of a scalar field and converts it to a vector field. The gradient is the derivative of three dimensions; the first component in the X direction, the second component in the Y direction, and the third component in the Z direction grid, computing the general direction of "flow" at a specific point on the geometry.
Not all field types are supported by the CalculateGradients module. At this time only derivatives of TetVolMesh and LatVolMesh are supported. The CalculateGradients module has no GUI. If CalculateGradients recieves as input a Field type it does not support, an error message appears in the Error frame of the SCIRun environment.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes
0
1117
1549
2006-10-20T22:55:21Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateLatVolGradientsAtNodes'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Compute the derivative of a scalar lattice and output it as a vector lattice.
====Detailed Description====
The CalculateLatVolGradientsAtNodes module computes the derivative of a scalar field and converts it to a vector field. The gradient is the derivative of three dimensions; the first component in the X direction, the second component in the Y direction, and the third component in the Z direction grid, computing the general direction of "flow" at a specific point on the geometry.
CalculateLatVolGradientsAtNodes only supports computation of the gradient on node centered LatVolFields of scalar type. The CalculateLatVolGradientsAtNodes module has no GUI. If CalculateLatVolGradientsAtNodes recieves as input a Field type it does not support, an error message appears in the Error frame of the SCIRun environment.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals
0
1118
1550
2006-10-20T22:55:43Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateNodeNormals'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Make a new vector field that points to the input point.
====Detailed Description====
This creates a new vector field containing the same geometry and data location as the input field. It works in two modes. If the input PointCloudField contains only one point, all of the vectors in the output field will be attracted to that input point. If the input PointCloudField contains two or more points, the first two points will be used as a line and all the vectors in the output field will be attracted to that line. If the input field contains scalar values, the vectors in the output field will be scaled by those values. Otherwise they will all be normalized.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes
0
1119
1551
2006-10-20T22:56:08Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateVectorMagnitudes'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Computes the gradient of a field.
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis
0
1120
1552
2006-10-20T22:56:34Z
Jeroen
19
wikitext
text/x-wiki
=='''ConvertFieldBasis'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
ConvertFieldBasis can modify the location of data in the input field.
====Detailed Description====
Upon execution the UI will display the input field name and the current location the data values for the that field are located.
The output field's new data value location is selected from a list of available basis types. The output field will contain the same geometry as the input field with the data value storage at the newly specified location. All output data values are reset to 0.
There is currently support for three basis functions within SCIRun. The first is None, meaning that there is no data associated with the field and that no interpolation is supported. The Constant basis is when data is associated with the elements of a field. This data is not interpolated but is constant within each element and non-continuous at element boundaries. The third basis function is Linear. Linear means that the data is associated with the nodes of a field. Any interpolation will be done linearly within elements (but not across element boundaries).
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType
0
1121
1553
2006-10-20T22:57:01Z
Jeroen
19
wikitext
text/x-wiki
=='''ConvertFieldDataType'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
ConvertFieldDataType is used to change the type of data associated with the field elements.
====Detailed Description====
ConvertFieldDataType allows the user to change the datatype at each field data_at location. This module also attempts to convert the data in the field to the new type, if possible. If no conversion is possible, the output field will contain default zero values. Note that conversion from a large datatype to a smaller datatype usually results in a loss of precision.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode
0
1122
1554
2006-10-20T22:58:45Z
Jeroen
19
wikitext
text/x-wiki
=='''ConvertLatVolDataFromElemToNode'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Make a new field with data at nodes instead of elements.
====Detailed Description====
ConvertLatVolDataFromElemToNode creates a new field with the data at the mesh nodes rather than at the elements. This currently only works on LatVolField, StructHexVolField, ImageField, and StuctQuadSurfField field types. The data must be at cells/faces as appropriate to the field type. A new field is created such that the data remains at the same positions in space but occupy the nodes of the new mesh rather than being located at the cell/face locations. This is the opposite of MODULE REFERENCE.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem
0
1123
1555
2006-10-20T22:59:13Z
Jeroen
19
wikitext
text/x-wiki
=='''ConvertLatVolDataFromNodeToElem'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Make a new field with data at elements instead of nodes.
====Detailed Description====
ConvertLatVolDataFromNodeToElem creates a new field with the data at the mesh elements rather than at the nodes. This currently only works on LatVolField and ImageField field types. The data must be at the nodes. A new field is created such that the data remains at the same positions in space but occupy the cell/face centers of the new mesh rather than being located at the node locations. This is the opposite of MODULE REFERENCE.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination
0
1124
1570
2006-10-20T22:59:50Z
Jeroen
19
wikitext
text/x-wiki
=='''MapFieldDataFromSourceToDestination'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
====Detailed Description====
MapFieldDataFromSourceToDestination will find the corresponding data value in the Source for each node in the Destination Field. The data values can be stored at the nodes, cells, edges, or faces of the mesh at either the input or output ports. If the geometries of the input ports are different, the module will calculate data values for the Destination by interpolation.
The MapFieldDataFromSourceToDestination GUI contains a check box for Enable Interpolation and Use Closest Element If Not Interpable. The Enable Interpolation check box allows the user to select the option of interpolation. The user can also select the option of choosing the closest element when a data value cannot be interpolated. The Maximum Closeness option indicates the maximum distance between points of interpolation and data values.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol
0
1125
1571
2006-10-20T23:00:25Z
Jeroen
19
wikitext
text/x-wiki
=='''MaskLatVol'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): McKay Davis, Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
====Detailed Description====
Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out. This is similar to the behavior of the MODULE REFERENCE module, except that the input field is masked rather than clipped out.
The function should be a valid C++ expression. It will be dynamically compiled into a function of the form "bool inside_p(double x, double y, double z, TYPE v) { return EXPR; }" where TYPE is the data type contained in the field, and EXPR is the function typed into the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf
0
1126
1572
2006-10-20T23:01:04Z
Jeroen
19
wikitext
text/x-wiki
=='''MaskLatVolWithTriSurf'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): ?
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
?
====Detailed Description====
?
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures
0
1127
1574
2006-10-20T23:02:20Z
Jeroen
19
wikitext
text/x-wiki
=='''ReportMeshQualityMeasures'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Jason Shepherd
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Nodal movement to improve mesh quality.
====Detailed Description====
The ReportMeshQualityMeasures module is used to calculate multiple mesh quality metrics and report these metrics to the user. The Sandia National Laboratories VERDICT library (http://cubit.sandia.gov/verdict.html) performs the metric calculations.
Metric descriptions are taken from VERDICT as follows (descriptions are by element type.)
Description of Tetrahedral Quality Measures
Function Name Dimension Full Range Acceptable Range Reference ------------- ---------- -------- --------------- --------- Aspect Ratio Bet L^0 1 to inf 1 to 3 1 Aspect Ratio Gam L^0 1 to inf 1 to 3 1 Element Volume L^3 -inf to +inf None 1 Condition No. L^0 1 to inf 1 to 3 2 Jacobian L^3 -inf to inf None 2 Scaled Jacobian L^0 -1.414 to +1.414 0.5 to +1.414 2 Shape L^0 0 to 1 0.2 to 1 3 Relative Size L^0 0 to 1 0.2 to 1 3 Shape and Size L^0 0 to 1 0.2 to 1 3 Distortion L^2 -1 to 1 0.6 to 1 4 ------------- ---------- -------- -------------- ---------
Approximate Tetrahedral Quality Definitions: Aspect Ratio Beta: CR / (3.0 * IR) where CR = circumsphere radius, IR = inscribed sphere radius Aspect Ratio Gamma: Srms**3 / (8.479670*V) where Srms = sqrt(Sum(Si**2)/6), Si = edge length Element Volume: (1/6) * Jacobian at corner node Condition No. Condition number of the Jacobian matrix at any corner Jacobian: Minimum pointwise volume at any corner Scaled Jacobian: Minimum Jacobian divided by the lengths of 3 edge vectors Shape: 3/Mean Ratio of weighted Jacobian matrix Relative Size: Min( J, 1/J ), where J is determinant of weighted Jacobian matrix Shape and Size: Product of Shape and Relative Size Distortion: {min(|J|)/actual volume}*parent volume, parent volume = 1/6 for tet
References for Tetrahedral Quality Measures: 1. V. N. Parthasarathy et al, A comparison of tetrahedron quality measures, Finite Elem. Anal. Des., Vol 15(1993), 255-261. 2. P. Knupp, Achieving Finite Element Mesh Quality via Optimization of the Jacobian Matrix Norm and Associated Quantities, Intl. J. Numer. Meth. Engng. 2000, 48:1165-1185. 3. P. Knupp, Algebraic Mesh Quality Metrics for Unstructured Initial Meshes, submitted for publication. 4. SDRC/IDEAS Simulation: Finite Element Modeling--User's Guide
Description of Hexahedral Quality Measures
Function Name Dimension Full Range Acceptable Range Reference ------------- ---------- ----- --------------- --------- Aspect Ratio L^0 1 to inf 1 to 4 1 Skew L^0 0 to 1 0 to 0.5 1 Taper L^0 0 to +inf 0 to 0.4 1 Element Volume L^3 -inf to +inf None 1 Stretch L^0 0 to 1 0.25 to 1 2 Diagonal Ratio L^0 0 to 1 0.65 to 1 3 Dimension L^1 0 to inf None 1 Condition No. L^0 1 to inf 1 to 8 4 Jacobian L^3 - inf to inf None 4 Scaled Jacobian L^0 -1 to +1 0.5 to 1 4 Shear L^0 0 to 1 0.3 to 1 5 Shape L^0 0 to 1 0.3 to 1 5 Relative Size L^0 0 to 1 0.5 to 1 5 Shear and Size L^0 0 to 1 0.2 to 1 5 Shape and Size L^0 0 to 1 0.2 to 1 5 Distortion L^2 -1 to 1 0.6 to 1 6 ------------- ---------- ----- ---------------- ---------
Approximate Hexahedral Quality Definitions: Aspect Ratio: Maximum edge length ratios at hex center. Skew: Maximum |cos A| where A is the angle between edges at hex center. Taper: Maximum ratio of lengths derived from opposite edges. Element Volume: Jacobian at hex center. Stretch: Sqrt(3) * minimum edge length / maximum diagonal length. Diagonal Ratio: Minimum diagonal length / maximum diagonal length. Dimension: Pronto-specific characteristic length for stable time step calculation. Char_length = Volume / 2 grad Volume. Condition No. Maximum condition number of the Jacobian matrix at 8 corners. Jacobian: Minimum pointwise volume of local map at 8 corners and center of hex. Scaled Jacobian: Minimum Jacobian divided by the lengths of the 3 edge vectors. Shear: 3/Mean Ratio of Jacobian Skew matrix Shape: 3/Mean Ratio of weighted Jacobian matrix Relative Size: Min( J, 1/J ), where J is determinant of weighted Jacobian matrix Shear and Size: Product of Shear and Relative Size Shape and Size: Product of Shape and Relative Size Distortion: {min(|J|)/actual volume}*parent volume, parent volume = 8 for hex
References for Hexahedral Quality Measures: 1. L.M. Taylor, and D.P. Flanagan, Pronto3D - A Three Dimensional Transient Solid Dynamics Program, SAND87-1912, Sandia National Laboratories, 1989. 2. FIMESH code 3. Unknown 4. P. Knupp, Achieving Finite Element Mesh Quality via Optimization of the Jacobian Matrix Norm and Associated Quantities, Intl. J. Numer. Meth. Engng. 2000, 48:1165-1185. 5. P. Knupp, Algebraic Mesh Quality Metrics for Unstructured Initial Meshes, submitted for publication. 6. SDRC/IDEAS Simulation: Finite Element Modeling--User's Guide
Description of Triangular Quality Measures
Function Name Dimension Full Range Acceptable Range Reference ------------- ---------- --------- --------------- --------- Element Area L^2 0 to inf None 1 Maximum Angle degrees 60 to 180 60 to 90 1 Minimum Angle degrees 0 to 60 30 to 60 1 Condition No. L^0 1 to inf 1 to 1.3 2 Scaled Jacobian L^0 -1.155 to +1.155 0.5 to 1.155 2 Relative Size L^0 0 to 1 0.25 to 1 3 Shape L^0 0 to 1 0.25 to 1 3 Shape and Size L^0 0 to 1 0.25 to 1 3 Distortion L^2 -1 to 1 0.6 to 1 4 ------------- ---------- -------- --------------- ---------
Approximate Triangular Quality Definitions: Element Area: (1/2) * Jacobian at corner node Maximum Angle: Maximum included angle in triangle Minimum Angle: Minimum included angle in triangle Condition No. Condition number of the Jacobian matrix Scaled Jacobian: Minimum Jacobian divided by the lengths of 2 edge vectors Relative Size: Min( J, 1/J ), where J is determinant of weighted Jacobian matrix Shape: 2/Condition number of weighted Jacobian matrix Shape and Size: Product of Shape and Relative Size Distortion: {min(|J|)/actual area}*parent area, parent area = 1/2 for triangular element
References for Triangular Quality Measures: 1. Traditional. 2. P. Knupp, Achieving Finite Element Mesh Quality via Optimization of the Jacobian Matrix Norm and Associated Quantities, Intl. J. Numer. Meth. Engng. 2000, 48:1165-1185. 3. P. Knupp, Algebraic Mesh Quality Metrics for Unstructured Initial Meshes, submitted for publication. 4. SDRC/IDEAS Simulation: Finite Element Modeling--User's Guide
Description of Quadrilateral Quality Measures
Function Name Dimension Full Range Acceptable Range Reference ------------- ---------- ----- --------------- --------- Aspect Ratio L^0 1 to inf 1 to 4 1 Skew L^0 0 to 1 0 to 0.5 1 Taper L^0 0 to inf 0 to 0.7 1 Warpage L^0 0 to 1 0.9 to 1.0 1 Element Area L^2 -inf to +inf None 1 Stretch L^0 0 to 1 0.25 to 1 2 Minimum Angle degrees 0 to 90 45 to 90 3 Maximum Angle degrees 90 to 360 90 to 135 3 Condition No. L^0 1 to inf 1 to 4 4 Jacobian L^2 - inf to inf None 4 Scaled Jacobian L^0 -1 to +1 0.5 to 1 4 Shear L^0 0 to 1 0.3 to 1 5 Shape L^0 0 to 1 0.3 to 1 5 Relative Size L^0 0 to 1 0.3 to 1 5 Shear and Size L^0 0 to 1 0.2 to 1 5 Shape and Size L^0 0 to 1 0.2 to 1 5 Distortion L^2 -1 to 1 0.6 to 1 6 ------------- ---------- ----- -------------- ---------
Approximate Quadrilateral Quality Definitions: Aspect Ratio: Maximum edge length ratios at quad center Skew: Maximum |cos A| where A is the angle between edges at quad center Taper: Maximum ratio of lengths derived from opposite edges Warpage: Cosine of Minimum Dihedral Angle formed by Planes Intersecting in Diagonals Element Area: Jacobian at quad center Stretch: Sqrt(2) * minimum edge length / maximum diagonal length Minimum Angle: Smallest included quad angle (degrees). Maximum Angle: Largest included quad angle (degrees). Condition No. Maximum condition number of the Jacobian matrix at 4 corners Jacobian: Minimum pointwise volume of local map at 4 corners and center of quad Scaled Jacobian: Minimum Jacobian divided by the lengths of the 2 edge vectors Shear: 2/Condition number of Jacobian Skew matrix Shape: 2/Condition number of weighted Jacobian matrix Relative Size: Min( J, 1/J ), where J is determinant of weighted Jacobian matrix Shear and Size: Product of Shear and Relative Size Shape and Size: Product of Shape and Relative Size Distortion: {min(|J|)/actual area}*parent area, parent area = 4 for quad
References for Quadrilateral Quality Measures: 1. J. Robinson, CRE Method of element testing and the Jacobian shape parameters, Eng. Comput., Vol 4, 1987. 2. FIMESH code. 3. Unknown. 4. P. Knupp, Achieving Finite Element Mesh Quality via Optimization of the Jacobian Matrix Norm and Associated Quantities, Intl. J. Numer. Meth. Engng. 2000, 48:1165-1185. 5. P. Knupp, Algebraic Mesh Quality Metrics for Unstructured Initial Meshes, submitted for publication. 6. SDRC/IDEAS Simulation: Finite Element Modeling--User's Guide
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries
0
1128
1575
2006-10-20T23:03:06Z
Jeroen
19
wikitext
text/x-wiki
=='''SwapFieldDataWithMatrixEntries'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
Add and remove data from a field.
====Detailed Description====
This module performs two simultanious operations. First the "Input Field" is split into it's mesh part it's data values. The data values are packaged up and passed to the "Output Matrix" port. Second the input field geometry is joined with the data from the Input Matrix, and the result is passed out on the "Output Field" port. If the input matrix is not present, then the second operation is not performed and the Output Field is the same as the Input Field.
The format of the "Output Matrix" will be a column matrix if the nput field was of scalar type. It will be an Nx3 matrix if the input field contained vectors. If the field contained tensors it will be Nx9 matrix, where the tensor is flattened out in left to right, top to bottom order. Column 0 contains (0, 0), column 1 contains (0, 1), column 2 contains (0,2), column 3 contains (1, 0), etc.
The "Input Matrix" should have the same number of values as the field where the values are to be stored. The type of the Iutput Field is preserved in the Output field as well. So for instance if the input field is a vector field, the Output Field will also be a vector field, and the input matrix should be an Nx3 matrix where N is equal to the number of elements to be filled in.
Feb 11, 2004: The module now will try to preserve the scalar type of the field, so if you pass it in a TetVolField of integers and a row matrix, it will return a TetVolField of integers. If the types are not convertible then you will still get a default Vector,Tensor, or double field as appropriate. If you need the old behavior use MODULE REFERENCE to convert the input field to double type before passing it in.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
[[CIBC:Documentation:SCIRun:Reference:SCIRun|Go back to SCIRun]]
Main Page
0
1
1496
1495
2006-10-20T23:30:39Z
Jeroen
19
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Documentation Portal===
[[CIBC:Documentation| Documentation Portal]]
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1510
1496
2006-10-20T23:31:38Z
Jeroen
19
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Documentation Portal===
;[[CIBC:Documentation| Documentation Portal]]
:Access the SCIRun/BioPSE documentation tree
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1511
1510
2006-10-25T20:57:47Z
Erikj
2
/* Workshops */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Documentation Portal===
;[[CIBC:Documentation| Documentation Portal]]
:Access the SCIRun/BioPSE documentation tree
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
<math>\sqrt{4}</math>
1529
1511
2006-10-25T20:58:00Z
Erikj
2
/* Workshops */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Documentation Portal===
;[[CIBC:Documentation| Documentation Portal]]
:Access the SCIRun/BioPSE documentation tree
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1659
1529
2006-10-27T17:33:02Z
Jeroen
19
/* Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Documentation Portal===
;[[CIBC:Documentation| Documentation Portal]]
:Access the SCIRun/BioPSE documentation tree
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
CIBC:Project:module development
0
1093
1498
1497
2006-10-23T14:11:09Z
Mjc
35
/* "Hello World!" -- SCIRun style. */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
1499
1498
2006-10-23T14:33:14Z
Mjc
35
/* "Hello World!" -- SCIRun style. */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
1500
1499
2006-10-23T14:36:15Z
Mjc
35
/* Examples */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
=== Getting Input ===
=== Sending Output ===
=== Changing Data Values ===
=== User Input ===
=== Generic Algorithms ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
1501
1500
2006-10-23T14:37:12Z
Mjc
35
/* "Hello World!" -- SCIRun style. */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
=== Getting Input ===
=== Sending Output ===
=== Changing Data Values ===
=== User Input ===
=== Generic Algorithms ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
1502
1501
2006-10-23T14:37:26Z
Mjc
35
/* Generic Algorithms */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
=== Getting Input ===
=== Sending Output ===
=== Changing Data Values ===
=== User Input ===
=== Generic Algorithms ===
1503
1502
2006-10-23T14:39:34Z
Mjc
35
/* Getting Input */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
=== Getting Input ===
Files:
Now we would like to get some data passed into this module through its input port. This takes 2 edits to our module.
<pre>
// Print the value of the input fields data pointer when we execute.
void
GetInputField::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputField must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputField module got data :" << field_handle.get_rep() << endl;
}
</pre>
=== Sending Output ===
=== Changing Data Values ===
=== User Input ===
=== Generic Algorithms ===
1504
1503
2006-10-23T14:41:31Z
Mjc
35
/* Getting Input */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
=== Getting Input ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/GetInputField.cc SCIRun/src/Dataflow/Modules/Examples/GetInputField.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/GetInputField.xml SCIRun/src/Dataflow/XML/GetInputField.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
Now we would like to get some data passed into this module through its input port. This takes 2 edits to our module.
<pre>
// Print the value of the input fields data pointer when we execute.
void
GetInputField::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputField must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputField module got data :" << field_handle.get_rep() << endl;
}
</pre>
=== Sending Output ===
=== Changing Data Values ===
=== User Input ===
=== Generic Algorithms ===
1505
1504
2006-10-23T15:10:05Z
Mjc
35
/* Getting Input */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
=== Getting Input ===
SCIRun::Examples::GetInputField
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/GetInputField.cc SCIRun/src/Dataflow/Modules/Examples/GetInputField.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/GetInputField.xml SCIRun/src/Dataflow/XML/GetInputField.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This example lives in the source tree as GetInputField, but if you are writing a module as we go, you could simply add the new bits as you go to your module.
Now that we know how to execute, we would like to get some data passed into this module through its input port. First we need to let SCIRun know that we expect input and what type of input we expect. This happens in the XML file.
<pre>
<io>
<inputs lastportdynamic="no">
<port>
<name>InField</name>
<datatype>SCIRun::Field</datatype>
</port>
</inputs>
</io>
</pre>
The io section of our component contains port information. We give it a name (important to remember as we ask for this port by name from our C code) and we also give it a datatype. In this case we want to and only will accept SCIRun::Field as an input. Now when we instantiate this module, it will be created with a Field input port.
<pre>
// Print the value of the input fields data pointer when we execute.
void
GetInputField::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputField must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputField module got data :" << field_handle.get_rep() << endl;
}
</pre>
All data that pass through ports in SCIRun are passed using Handles. Our handles are reference counted locking handles. They are essentially smart pointers that delete the object they point to when no one has a reference to it anymore. First we declare an empty FieldHandle, then we ask for it to be filled with data from the input port named "InField". As you recall this is the exact string used in the xml file to declare the port name.
get_input_handle does a number of things for you. If the last argument is true, then we require input data on this port (some ports are optional). get_input_handle then blocks waiting for data to arrive on the port, makes sure it is non NULL, and sets the handle appropriately.
get_rep() is a method on the handle class itself. It returns the value of the underlying pointer. handles overload the -> operator, so that any calls made that way work as if the handle were an actual pointer to the object type.
Using get_rep() we print out the value of the pointer to the shell, verifying that we indeed got some valid data.
=== Sending Output ===
=== Changing Data Values ===
=== User Input ===
=== Generic Algorithms ===
1506
1505
2006-10-23T15:25:30Z
Mjc
35
/* Sending Output */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
=== Getting Input ===
SCIRun::Examples::GetInputField
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/GetInputField.cc SCIRun/src/Dataflow/Modules/Examples/GetInputField.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/GetInputField.xml SCIRun/src/Dataflow/XML/GetInputField.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This example lives in the source tree as GetInputField, but if you are writing a module as we go, you could simply add the new bits as you go to your module.
Now that we know how to execute, we would like to get some data passed into this module through its input port. First we need to let SCIRun know that we expect input and what type of input we expect. This happens in the XML file.
<pre>
<io>
<inputs lastportdynamic="no">
<port>
<name>InField</name>
<datatype>SCIRun::Field</datatype>
</port>
</inputs>
</io>
</pre>
The io section of our component contains port information. We give it a name (important to remember as we ask for this port by name from our C code) and we also give it a datatype. In this case we want to and only will accept SCIRun::Field as an input. Now when we instantiate this module, it will be created with a Field input port.
<pre>
// Print the value of the input fields data pointer when we execute.
void
GetInputField::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputField must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputField module got data :" << field_handle.get_rep() << endl;
}
</pre>
All data that pass through ports in SCIRun are passed using Handles. Our handles are reference counted locking handles. They are essentially smart pointers that delete the object they point to when no one has a reference to it anymore. First we declare an empty FieldHandle, then we ask for it to be filled with data from the input port named "InField". As you recall this is the exact string used in the xml file to declare the port name.
get_input_handle does a number of things for you. If the last argument is true, then we require input data on this port (some ports are optional). get_input_handle then blocks waiting for data to arrive on the port, makes sure it is non NULL, and sets the handle appropriately.
get_rep() is a method on the handle class itself. It returns the value of the underlying pointer. handles overload the -> operator, so that any calls made that way work as if the handle were an actual pointer to the object type.
Using get_rep() we print out the value of the pointer to the shell, verifying that we indeed got some valid data.
=== Sending Output ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/GetInputFieldAndSendAsOutput.cc SCIRun/src/Dataflow/Modules/Examples/GetInputFieldAndSendAsOutput.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/GetInputFieldAndSendAsOutput.xml SCIRun/src/Dataflow/XML/GetInputFieldAndSendAsOutput.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
In this example we simply add an output port, and send the same data we got as input along through the output port.
<pre>
<io>
<inputs lastportdynamic="no">
<port>
<name>InField</name>
<datatype>SCIRun::Field</datatype>
</port>
</inputs>
<outputs>
<port>
<name>OutField</name>
<datatype>SCIRun::Field</datatype>
</port>
</outputs>
</io>
</pre>
We add the output port and name it, very similar to adding the input port.
<pre>
void
GetInputFieldAndSendAsOutput::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputFieldAndSendAsOutput must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputFieldAndSendAsOutput module got data :" << field_handle.get_rep() << endl;
send_output_handle("OutField", field_handle);
}
</pre>
send_output_handle takes the exact string we declared the output port with in our xml file, and we send the handle to our field along through the output port.
Now we know how to get data and send data, lets do something with this Field.
=== Changing Data Values ===
=== User Input ===
=== Generic Algorithms ===
1507
1506
2006-10-23T16:39:38Z
Mjc
35
/* Changing Data Values */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
=== Getting Input ===
SCIRun::Examples::GetInputField
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/GetInputField.cc SCIRun/src/Dataflow/Modules/Examples/GetInputField.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/GetInputField.xml SCIRun/src/Dataflow/XML/GetInputField.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This example lives in the source tree as GetInputField, but if you are writing a module as we go, you could simply add the new bits as you go to your module.
Now that we know how to execute, we would like to get some data passed into this module through its input port. First we need to let SCIRun know that we expect input and what type of input we expect. This happens in the XML file.
<pre>
<io>
<inputs lastportdynamic="no">
<port>
<name>InField</name>
<datatype>SCIRun::Field</datatype>
</port>
</inputs>
</io>
</pre>
The io section of our component contains port information. We give it a name (important to remember as we ask for this port by name from our C code) and we also give it a datatype. In this case we want to and only will accept SCIRun::Field as an input. Now when we instantiate this module, it will be created with a Field input port.
<pre>
// Print the value of the input fields data pointer when we execute.
void
GetInputField::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputField must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputField module got data :" << field_handle.get_rep() << endl;
}
</pre>
All data that pass through ports in SCIRun are passed using Handles. Our handles are reference counted locking handles. They are essentially smart pointers that delete the object they point to when no one has a reference to it anymore. First we declare an empty FieldHandle, then we ask for it to be filled with data from the input port named "InField". As you recall this is the exact string used in the xml file to declare the port name.
get_input_handle does a number of things for you. If the last argument is true, then we require input data on this port (some ports are optional). get_input_handle then blocks waiting for data to arrive on the port, makes sure it is non NULL, and sets the handle appropriately.
get_rep() is a method on the handle class itself. It returns the value of the underlying pointer. handles overload the -> operator, so that any calls made that way work as if the handle were an actual pointer to the object type.
Using get_rep() we print out the value of the pointer to the shell, verifying that we indeed got some valid data.
=== Sending Output ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/GetInputFieldAndSendAsOutput.cc SCIRun/src/Dataflow/Modules/Examples/GetInputFieldAndSendAsOutput.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/GetInputFieldAndSendAsOutput.xml SCIRun/src/Dataflow/XML/GetInputFieldAndSendAsOutput.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
In this example we simply add an output port, and send the same data we got as input along through the output port.
<pre>
<io>
<inputs lastportdynamic="no">
<port>
<name>InField</name>
<datatype>SCIRun::Field</datatype>
</port>
</inputs>
<outputs>
<port>
<name>OutField</name>
<datatype>SCIRun::Field</datatype>
</port>
</outputs>
</io>
</pre>
We add the output port and name it, very similar to adding the input port.
<pre>
void
GetInputFieldAndSendAsOutput::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputFieldAndSendAsOutput must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputFieldAndSendAsOutput module got data :" << field_handle.get_rep() << endl;
send_output_handle("OutField", field_handle);
}
</pre>
send_output_handle takes the exact string we declared the output port with in our xml file, and we send the handle to our field along through the output port.
Now we know how to get data and send data, lets do something with this Field.
=== Changing Data Values ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/SetTetVolFieldValuesToZero.cc SCIRun/src/Dataflow/Modules/Examples/SetTetVolFieldValuesToZero.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/SetTetVolFieldValuesToZero.xml SCIRun/src/Dataflow/XML/SetTetVolFieldValuesToZero.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
In this example we get our first look at interfacing with a Field. The Field base class doesn't say much about what a field really is. Fields in SCIRun are designed somewhat like STL classes. There is a Field Concept, Mesh Concept, and Basis Concept. These guarantee certain interface to eachother such that they can be combined in a GenericField<> class via template arguments. This gives SCIRun great flexibility in Field creation. It also poses some logistical problems.
For now we will assume the input to this module is a specific fully instantiated type. Later we will show how to deal with the vast array of possible types that 'could' come in through this Field port.
<pre>
typedef TetVolMesh<TetLinearLgn<Point> > TVMesh;
typedef TetLinearLgn<double> DataBasis;
typedef GenericField<TVMesh, DataBasis, vector<double> > TVField;
</pre>
This set of typedefs we create mostly for readablity. This is a Tetrahedral mesh with double data, with both data and mesh having a linear basis.
<pre>
// Must detach since we will be altering the input field.
field_handle.detach();
</pre>
The detach call here is required for valid Dataflow. We fully intend on altering the data in this Field. The detach call on the handle tells the handle to clone the memory and become the only reference to that new memory. We have no idea how many other modules may get the same input handle, so to modify it underneath them is a no no.
<pre>
TVField *in = dynamic_cast<TVField*>(field_handle.get_rep());
if (in == 0) {
error("This Module only accepts Linear TetVol Fields with double data.");
return;
}
</pre>
Here we assure that the type of field we get is actually the one specific type we can handle. If we don't have input of this exact type, we call error with a message. This turns the status box on the module icon to red, and when you click it and open it, you will see the message. Then we return, since we do not know how to work on anything but that specific type.
<pre>
TVField::mesh_handle_type mh = in->get_typed_mesh();
TVMesh::Node::iterator iter;
TVMesh::Node::iterator end;
mh->begin(iter);
mh->end(end);
while (iter != end) {
TVMesh::Node::index_type ni = *iter;
Point node;
mh->get_center(node, ni);
TVField::value_type val;
in->value(val, ni);
cerr << "at point: " << node << "the input value is: " << val << endl;
// Set the value to be 0.0;
in->set_value(0.0, ni);
++iter;
}
</pre>
Yay some meat. We have a valid pointer, so we can now iterate over all the nodes in this mesh. For example purposes, we print out the x,y,z point of each node, as well as the value stored at the node. We can do this because we know we have a linear basis, so we are guaranteed to have at least one data value at each node. After we print out what we got as input, we go ahead and set each node value to 0.0 as the name of our module suggests. The data is then sent downstream as before.
=== User Input ===
=== Generic Algorithms ===
1508
1507
2006-10-23T17:09:01Z
Mjc
35
/* User Input */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
=== Getting Input ===
SCIRun::Examples::GetInputField
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/GetInputField.cc SCIRun/src/Dataflow/Modules/Examples/GetInputField.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/GetInputField.xml SCIRun/src/Dataflow/XML/GetInputField.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This example lives in the source tree as GetInputField, but if you are writing a module as we go, you could simply add the new bits as you go to your module.
Now that we know how to execute, we would like to get some data passed into this module through its input port. First we need to let SCIRun know that we expect input and what type of input we expect. This happens in the XML file.
<pre>
<io>
<inputs lastportdynamic="no">
<port>
<name>InField</name>
<datatype>SCIRun::Field</datatype>
</port>
</inputs>
</io>
</pre>
The io section of our component contains port information. We give it a name (important to remember as we ask for this port by name from our C code) and we also give it a datatype. In this case we want to and only will accept SCIRun::Field as an input. Now when we instantiate this module, it will be created with a Field input port.
<pre>
// Print the value of the input fields data pointer when we execute.
void
GetInputField::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputField must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputField module got data :" << field_handle.get_rep() << endl;
}
</pre>
All data that pass through ports in SCIRun are passed using Handles. Our handles are reference counted locking handles. They are essentially smart pointers that delete the object they point to when no one has a reference to it anymore. First we declare an empty FieldHandle, then we ask for it to be filled with data from the input port named "InField". As you recall this is the exact string used in the xml file to declare the port name.
get_input_handle does a number of things for you. If the last argument is true, then we require input data on this port (some ports are optional). get_input_handle then blocks waiting for data to arrive on the port, makes sure it is non NULL, and sets the handle appropriately.
get_rep() is a method on the handle class itself. It returns the value of the underlying pointer. handles overload the -> operator, so that any calls made that way work as if the handle were an actual pointer to the object type.
Using get_rep() we print out the value of the pointer to the shell, verifying that we indeed got some valid data.
=== Sending Output ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/GetInputFieldAndSendAsOutput.cc SCIRun/src/Dataflow/Modules/Examples/GetInputFieldAndSendAsOutput.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/GetInputFieldAndSendAsOutput.xml SCIRun/src/Dataflow/XML/GetInputFieldAndSendAsOutput.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
In this example we simply add an output port, and send the same data we got as input along through the output port.
<pre>
<io>
<inputs lastportdynamic="no">
<port>
<name>InField</name>
<datatype>SCIRun::Field</datatype>
</port>
</inputs>
<outputs>
<port>
<name>OutField</name>
<datatype>SCIRun::Field</datatype>
</port>
</outputs>
</io>
</pre>
We add the output port and name it, very similar to adding the input port.
<pre>
void
GetInputFieldAndSendAsOutput::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputFieldAndSendAsOutput must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputFieldAndSendAsOutput module got data :" << field_handle.get_rep() << endl;
send_output_handle("OutField", field_handle);
}
</pre>
send_output_handle takes the exact string we declared the output port with in our xml file, and we send the handle to our field along through the output port.
Now we know how to get data and send data, lets do something with this Field.
=== Changing Data Values ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/SetTetVolFieldValuesToZero.cc SCIRun/src/Dataflow/Modules/Examples/SetTetVolFieldValuesToZero.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/SetTetVolFieldValuesToZero.xml SCIRun/src/Dataflow/XML/SetTetVolFieldValuesToZero.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
In this example we get our first look at interfacing with a Field. The Field base class doesn't say much about what a field really is. Fields in SCIRun are designed somewhat like STL classes. There is a Field Concept, Mesh Concept, and Basis Concept. These guarantee certain interface to eachother such that they can be combined in a GenericField<> class via template arguments. This gives SCIRun great flexibility in Field creation. It also poses some logistical problems.
For now we will assume the input to this module is a specific fully instantiated type. Later we will show how to deal with the vast array of possible types that 'could' come in through this Field port.
<pre>
typedef TetVolMesh<TetLinearLgn<Point> > TVMesh;
typedef TetLinearLgn<double> DataBasis;
typedef GenericField<TVMesh, DataBasis, vector<double> > TVField;
</pre>
This set of typedefs we create mostly for readablity. This is a Tetrahedral mesh with double data, with both data and mesh having a linear basis.
<pre>
// Must detach since we will be altering the input field.
field_handle.detach();
</pre>
The detach call here is required for valid Dataflow. We fully intend on altering the data in this Field. The detach call on the handle tells the handle to clone the memory and become the only reference to that new memory. We have no idea how many other modules may get the same input handle, so to modify it underneath them is a no no.
<pre>
TVField *in = dynamic_cast<TVField*>(field_handle.get_rep());
if (in == 0) {
error("This Module only accepts Linear TetVol Fields with double data.");
return;
}
</pre>
Here we assure that the type of field we get is actually the one specific type we can handle. If we don't have input of this exact type, we call error with a message. This turns the status box on the module icon to red, and when you click it and open it, you will see the message. Then we return, since we do not know how to work on anything but that specific type.
<pre>
TVField::mesh_handle_type mh = in->get_typed_mesh();
TVMesh::Node::iterator iter;
TVMesh::Node::iterator end;
mh->begin(iter);
mh->end(end);
while (iter != end) {
TVMesh::Node::index_type ni = *iter;
Point node;
mh->get_center(node, ni);
TVField::value_type val;
in->value(val, ni);
cerr << "at point: " << node << "the input value is: " << val << endl;
// Set the value to be 0.0;
in->set_value(0.0, ni);
++iter;
}
</pre>
Yay some meat. We have a valid pointer, so we can now iterate over all the nodes in this mesh. For example purposes, we print out the x,y,z point of each node, as well as the value stored at the node. We can do this because we know we have a linear basis, so we are guaranteed to have at least one data value at each node. After we print out what we got as input, we go ahead and set each node value to 0.0 as the name of our module suggests. The data is then sent downstream as before.
=== User Input ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/SetTetVolFieldValues.cc SCIRun/src/Dataflow/Modules/Examples/SetTetVolFieldValues.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/SetTetVolFieldValues.xml SCIRun/src/Dataflow/XML/SetTetVolFieldValues.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/GUI/SetTetVolFieldDataValues.tcl SCIRun/branches/cibc/src/Dataflow/GUI/SetTetVolFieldDataValues.tcl]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/GUI/sub.mk SCIRun/branches/cibc/src/Dataflow/GUI/sub.mk]
Setting values to 0.0 may not be what we always want to do. Lets suppose the user would like to decide what value to set from a dialog. This example introduces a new file type. A tcl file, that follows the module ui convention, added to the sub.mk makefile fragment, will now trigger a UI button to show up on your instantiated module icon. If it does not, you forgot to add it to the makefile, or you mistyped the name of the class which follows a Package_Category_ModuleName convention.
<pre>
method ui {} {
set w .ui[modname]
if {[winfo exists $w]} {
return
}
toplevel $w
frame $w.f
pack $w.f -padx 2 -pady 2 -side top -expand yes
frame $w.f.options
pack $w.f.options -side top -expand yes
iwidgets::entryfield $w.f.options.format -labeltext "New Value:" \
-textvariable $this-newval
pack $w.f.options.format -side top -expand yes -fill x
makeSciButtonPanel $w.f $w $this
moveToCursor $w
pack $w.f -expand 1 -fill x
}
</pre>
The ui method in the .tcl file is what gets called when you click on the UI button. In this case we have an entryfield whose input is bound to a variable '''$this-newval''' which is important when we hook this up on the 'C' side.
<pre>
class SetTetVolFieldDataValues : public Module
{
public:
SetTetVolFieldDataValues(GuiContext*);
virtual ~SetTetVolFieldDataValues();
virtual void execute();
private:
GuiDouble newval_;
};
</pre>
Added to our class declaration is a GuiDouble. When we initialize this at construction time, we marry it to the tcl side variable of the specified name. We will be interpreting the input value as a double.
<pre>
SetTetVolFieldDataValues::SetTetVolFieldDataValues(GuiContext* ctx) :
Module("SetTetVolFieldDataValues", ctx, Source, "Examples", "SCIRun"),
newval_(get_ctx()->subVar("newval"), 1.0)
{
}
</pre>
Using the GuiContext object, we marry our GuiDouble to the tcl variable newval. $this- on the tcl side scopes our variable under our unique module id. The string we pass to subVar must match exactly the string after $this- on the tcl side. The second argument is the initializer.
<pre>
while (iter != end) {
TVMesh::Node::index_type ni = *iter;
Point node;
mh->get_center(node, ni);
TVField::value_type val;
in->value(val, ni);
cerr << "at point: " << node << " the input value is: " << val << endl;
// Set the value to be the value from the gui;
in->set_value(newval_.get(), ni);
++iter;
}
</pre>
Now in our loop, we ask for the value from the UI entry box that is coupled to our GuiDouble newval_. We call .get() on the GuiVar expecting a double since we know it is a GuiDouble. This value is now used to set the field variable value at each node.
=== Generic Algorithms ===
1509
1508
2006-10-23T17:39:17Z
Mjc
35
/* Generic Algorithms */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
=== Getting Input ===
SCIRun::Examples::GetInputField
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/GetInputField.cc SCIRun/src/Dataflow/Modules/Examples/GetInputField.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/GetInputField.xml SCIRun/src/Dataflow/XML/GetInputField.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This example lives in the source tree as GetInputField, but if you are writing a module as we go, you could simply add the new bits as you go to your module.
Now that we know how to execute, we would like to get some data passed into this module through its input port. First we need to let SCIRun know that we expect input and what type of input we expect. This happens in the XML file.
<pre>
<io>
<inputs lastportdynamic="no">
<port>
<name>InField</name>
<datatype>SCIRun::Field</datatype>
</port>
</inputs>
</io>
</pre>
The io section of our component contains port information. We give it a name (important to remember as we ask for this port by name from our C code) and we also give it a datatype. In this case we want to and only will accept SCIRun::Field as an input. Now when we instantiate this module, it will be created with a Field input port.
<pre>
// Print the value of the input fields data pointer when we execute.
void
GetInputField::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputField must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputField module got data :" << field_handle.get_rep() << endl;
}
</pre>
All data that pass through ports in SCIRun are passed using Handles. Our handles are reference counted locking handles. They are essentially smart pointers that delete the object they point to when no one has a reference to it anymore. First we declare an empty FieldHandle, then we ask for it to be filled with data from the input port named "InField". As you recall this is the exact string used in the xml file to declare the port name.
get_input_handle does a number of things for you. If the last argument is true, then we require input data on this port (some ports are optional). get_input_handle then blocks waiting for data to arrive on the port, makes sure it is non NULL, and sets the handle appropriately.
get_rep() is a method on the handle class itself. It returns the value of the underlying pointer. handles overload the -> operator, so that any calls made that way work as if the handle were an actual pointer to the object type.
Using get_rep() we print out the value of the pointer to the shell, verifying that we indeed got some valid data.
=== Sending Output ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/GetInputFieldAndSendAsOutput.cc SCIRun/src/Dataflow/Modules/Examples/GetInputFieldAndSendAsOutput.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/GetInputFieldAndSendAsOutput.xml SCIRun/src/Dataflow/XML/GetInputFieldAndSendAsOutput.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
In this example we simply add an output port, and send the same data we got as input along through the output port.
<pre>
<io>
<inputs lastportdynamic="no">
<port>
<name>InField</name>
<datatype>SCIRun::Field</datatype>
</port>
</inputs>
<outputs>
<port>
<name>OutField</name>
<datatype>SCIRun::Field</datatype>
</port>
</outputs>
</io>
</pre>
We add the output port and name it, very similar to adding the input port.
<pre>
void
GetInputFieldAndSendAsOutput::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputFieldAndSendAsOutput must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputFieldAndSendAsOutput module got data :" << field_handle.get_rep() << endl;
send_output_handle("OutField", field_handle);
}
</pre>
send_output_handle takes the exact string we declared the output port with in our xml file, and we send the handle to our field along through the output port.
Now we know how to get data and send data, lets do something with this Field.
=== Changing Data Values ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/SetTetVolFieldValuesToZero.cc SCIRun/src/Dataflow/Modules/Examples/SetTetVolFieldValuesToZero.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/SetTetVolFieldValuesToZero.xml SCIRun/src/Dataflow/XML/SetTetVolFieldValuesToZero.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
In this example we get our first look at interfacing with a Field. The Field base class doesn't say much about what a field really is. Fields in SCIRun are designed somewhat like STL classes. There is a Field Concept, Mesh Concept, and Basis Concept. These guarantee certain interface to eachother such that they can be combined in a GenericField<> class via template arguments. This gives SCIRun great flexibility in Field creation. It also poses some logistical problems.
For now we will assume the input to this module is a specific fully instantiated type. Later we will show how to deal with the vast array of possible types that 'could' come in through this Field port.
<pre>
typedef TetVolMesh<TetLinearLgn<Point> > TVMesh;
typedef TetLinearLgn<double> DataBasis;
typedef GenericField<TVMesh, DataBasis, vector<double> > TVField;
</pre>
This set of typedefs we create mostly for readablity. This is a Tetrahedral mesh with double data, with both data and mesh having a linear basis.
<pre>
// Must detach since we will be altering the input field.
field_handle.detach();
</pre>
The detach call here is required for valid Dataflow. We fully intend on altering the data in this Field. The detach call on the handle tells the handle to clone the memory and become the only reference to that new memory. We have no idea how many other modules may get the same input handle, so to modify it underneath them is a no no.
<pre>
TVField *in = dynamic_cast<TVField*>(field_handle.get_rep());
if (in == 0) {
error("This Module only accepts Linear TetVol Fields with double data.");
return;
}
</pre>
Here we assure that the type of field we get is actually the one specific type we can handle. If we don't have input of this exact type, we call error with a message. This turns the status box on the module icon to red, and when you click it and open it, you will see the message. Then we return, since we do not know how to work on anything but that specific type.
<pre>
TVField::mesh_handle_type mh = in->get_typed_mesh();
TVMesh::Node::iterator iter;
TVMesh::Node::iterator end;
mh->begin(iter);
mh->end(end);
while (iter != end) {
TVMesh::Node::index_type ni = *iter;
Point node;
mh->get_center(node, ni);
TVField::value_type val;
in->value(val, ni);
cerr << "at point: " << node << "the input value is: " << val << endl;
// Set the value to be 0.0;
in->set_value(0.0, ni);
++iter;
}
</pre>
Yay some meat. We have a valid pointer, so we can now iterate over all the nodes in this mesh. For example purposes, we print out the x,y,z point of each node, as well as the value stored at the node. We can do this because we know we have a linear basis, so we are guaranteed to have at least one data value at each node. After we print out what we got as input, we go ahead and set each node value to 0.0 as the name of our module suggests. The data is then sent downstream as before.
=== User Input ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/SetTetVolFieldValues.cc SCIRun/src/Dataflow/Modules/Examples/SetTetVolFieldValues.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/SetTetVolFieldValues.xml SCIRun/src/Dataflow/XML/SetTetVolFieldValues.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/GUI/SetTetVolFieldDataValues.tcl SCIRun/branches/cibc/src/Dataflow/GUI/SetTetVolFieldDataValues.tcl]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/GUI/sub.mk SCIRun/branches/cibc/src/Dataflow/GUI/sub.mk]
Setting values to 0.0 may not be what we always want to do. Lets suppose the user would like to decide what value to set from a dialog. This example introduces a new file type. A tcl file, that follows the module ui convention, added to the sub.mk makefile fragment, will now trigger a UI button to show up on your instantiated module icon. If it does not, you forgot to add it to the makefile, or you mistyped the name of the class which follows a Package_Category_ModuleName convention.
<pre>
method ui {} {
set w .ui[modname]
if {[winfo exists $w]} {
return
}
toplevel $w
frame $w.f
pack $w.f -padx 2 -pady 2 -side top -expand yes
frame $w.f.options
pack $w.f.options -side top -expand yes
iwidgets::entryfield $w.f.options.format -labeltext "New Value:" \
-textvariable $this-newval
pack $w.f.options.format -side top -expand yes -fill x
makeSciButtonPanel $w.f $w $this
moveToCursor $w
pack $w.f -expand 1 -fill x
}
</pre>
The ui method in the .tcl file is what gets called when you click on the UI button. In this case we have an entryfield whose input is bound to a variable '''$this-newval''' which is important when we hook this up on the 'C' side.
<pre>
class SetTetVolFieldDataValues : public Module
{
public:
SetTetVolFieldDataValues(GuiContext*);
virtual ~SetTetVolFieldDataValues();
virtual void execute();
private:
GuiDouble newval_;
};
</pre>
Added to our class declaration is a GuiDouble. When we initialize this at construction time, we marry it to the tcl side variable of the specified name. We will be interpreting the input value as a double.
<pre>
SetTetVolFieldDataValues::SetTetVolFieldDataValues(GuiContext* ctx) :
Module("SetTetVolFieldDataValues", ctx, Source, "Examples", "SCIRun"),
newval_(get_ctx()->subVar("newval"), 1.0)
{
}
</pre>
Using the GuiContext object, we marry our GuiDouble to the tcl variable newval. $this- on the tcl side scopes our variable under our unique module id. The string we pass to subVar must match exactly the string after $this- on the tcl side. The second argument is the initializer.
<pre>
while (iter != end) {
TVMesh::Node::index_type ni = *iter;
Point node;
mh->get_center(node, ni);
TVField::value_type val;
in->value(val, ni);
cerr << "at point: " << node << " the input value is: " << val << endl;
// Set the value to be the value from the gui;
in->set_value(newval_.get(), ni);
++iter;
}
</pre>
Now in our loop, we ask for the value from the UI entry box that is coupled to our GuiDouble newval_. We call .get() on the GuiVar expecting a double since we know it is a GuiDouble. This value is now used to set the field variable value at each node.
=== Generic Algorithms ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/SetFieldDataValues.h SCIRun/src/Dataflow/Modules/Examples/SetFieldDataValues.h]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/SetFieldDataValues.cc SCIRun/src/Dataflow/Modules/Examples/SetFieldDataValues.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/SetFieldDataValues.xml SCIRun/src/Dataflow/XML/SetFieldDataValues.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/GUI/SetFieldDataValues.tcl SCIRun/branches/cibc/src/Dataflow/GUI/SetFieldDataValues.tcl]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/GUI/sub.mk SCIRun/branches/cibc/src/Dataflow/GUI/sub.mk]
This example shows how we can generically handle any and all Fields as input. We have augmented the RTTI from C++ such that we can compile algorithms at run time that are exactly typed on the input field. The algorithms use the Concepts involved to interface with the objects.
We introduce a new file, a .h file to contain the algorithm to be compiled.
<pre>
class SetFieldDataValuesAlgoBase : public DynamicAlgoBase
{
public:
virtual FieldHandle execute(ProgressReporter *, FieldHandle,
double) = 0;
//! support the dynamically compiled algorithm concept
static CompileInfoHandle get_compile_info(const TypeDescription *td);
};
template <class Fld>
class SetFieldDataValuesT : public SetFieldDataValuesAlgoBase
{
public:
//! virtual interface.
virtual FieldHandle execute(ProgressReporter *,
FieldHandle,
double);
};
</pre>
The base class inherits from DynamicAlgoBase. It is this type we will get a handle to in our module execute. The virtual method execute is our entry into our dynamically compiled algorithm. We call it execute by convention but you can call it whatever you wish. This is a class like any other, have as many methods, or data as you wish in the class.
The second declaration is the templated version which inherits from our base class and provides the overloaded virtual. It has one template parameter, in this case which we expect to be a Field.
<pre>
template <class Fld>
FieldHandle
SetFieldDataValuesT<Fld>::execute(ProgressReporter *reporter,
FieldHandle ifh,
double newval)
{
//Must detach since we will be altering the input field.
ifh.detach();
Fld* in = dynamic_cast<Fld*>(ifh.get_rep());
if (! in) {
cerr << "Input field type does not match algorithm paramter type."
<< endl;
return 0;
}
typedef typename Fld::mesh_type Msh;
typename Fld::mesh_handle_type mh = in->get_typed_mesh();
typename Msh::Node::iterator iter;
typename Msh::Node::iterator end;
mh->synchronize(Mesh::NODES_E);
mh->begin(iter);
mh->end(end);
while (iter != end) {
typename Msh::Node::index_type ni = *iter;
Point node;
mh->get_center(node, ni);
typename Fld::value_type val;
in->value(val, ni);
cerr << "at point: " << node << " the input value is: " << val << endl;
// Set the value to be the value from the gui;
in->set_value(newval, ni);
++iter;
}
return ifh;
}
</pre>
This should look pretty familiar at this point, except that no where do we know the exact type of the field. We pass in the new value we want to set as a method parameter, but otherwise it is roughly the same code as before.
Now we want to instantiate a specific instance of this algorithm based upon the input field type, so lets go to the .cc file.
<pre>
const TypeDescription *ftd = field_handle->get_type_description();
CompileInfoHandle ci = SetFieldDataValuesAlgoBase::get_compile_info(ftd);
Handle<SetFieldDataValuesAlgoBase> algo;
if (!DynamicCompilation::compile(ci, algo, this)) return;
FieldHandle out_field_handle(algo->execute(this, field_handle, newval_.get()));
</pre>
Here we use our augmented RTTI to get all the strings required to write out a .cc file with the algorithm instantiation in it. We do this with get_type_decription() on the input field.
When we call compile we get our handle algo filled up. A .cc instantiation file is created, compiled into a small library, loaded into the system, and instantiated. It is then set in the handle algo. If you have compile errors the function will fail, and you will see the errors from your status box.
Finally we call our newly compiled algorithm, which has been instantiated for the input field type.
<pre>
CompileInfoHandle
SetFieldDataValuesAlgoBase::get_compile_info(const TypeDescription *td)
{
// use cc_to_h if this is in the .cc file, otherwise just __FILE__
static const string include_path(TypeDescription::cc_to_h(__FILE__));
static const string template_class_name("SetFieldDataValuesT");
static const string base_class_name("SetFieldDataValuesAlgoBase");
CompileInfo *rval = scinew CompileInfo(template_class_name + "." +
td->get_filename() + ".",
base_class_name,
template_class_name,
td->get_name());
rval->add_include(include_path);
td->fill_compile_info(rval);
return rval;
}
</pre>
get_compile_info we provide in this file as well. It sets up some more strings, that let us know where files are etc. and fills up the CompileInfo object with all the strings needed to write an instantiation file.
3233
1509
2006-10-23T17:40:03Z
Mjc
35
/* User Input */
wikitext
text/x-wiki
== Module Writing Tutorial ==
In your working copy of source code exists a few example modules designed to gradually introduce you to the structures and mechanisms used in all module writing.
modules in SCIRun are specified by '''Package::Category::ModuleName'''
=== Packages ===
Packages are the SCIRun plugin mechanism, and each Package gets its own menu item on the Network Editor. Core modules in SCIRun live in the SCIRun Package. In your working tree, the SCIRun Package corresponds to everything under the SCIRun/src/Dataflow/Modules directory. All other Packages live in SCIRun/src/Packages.
=== Categories ===
Categories are the directories under Modules. These are also reflected in the menu item, and should contain modules that share some common ground defined by the category.
=== Modules ===
Finally under each Category directory are the Modules contained within them. Each module has a .cc file with the same name as the module.
== Examples ==
To help the novice module writer understand the basics of creating new modules, there is the example category. In it are actual modules that can execute and
=== "Hello World!" -- SCIRun style. ===
SCIRun::Examples::PrintHelloWorldToScreen
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc SCIRun/src/Dataflow/Modules/Examples/PrintHelloWorldToScreen.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/PrintHelloWorldToScreen.xml SCIRun/src/Dataflow/XML/PrintHelloWorldToScreen.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This is the most basic of modules. Each module must have an xml file that describes it. This xml file gets parsed at startup, and lets SCIRun know it is available. SCIRun then builds menu items based on available modules.
<pre>
class PrintHelloWorldToScreen : public Module {
public:
PrintHelloWorldToScreen(GuiContext*);
virtual ~PrintHelloWorldToScreen();
virtual void execute();
};
</pre>
Our module inherits from Module base class, and provides an execute function. Note that it is a class like any other, and that everytime the module executes, the execute method will be called by the scheduler. Each module runs in its own thread, so be careful of static members.
<pre>
DECLARE_MAKER(PrintHelloWorldToScreen)
</pre>
The DECLARE_MAKER macro simply creates a maker function that creates an instance of this module. It gets called when you add an instance of the module to your Network Editor. This macro keeps the maker functions uniform and is a convenience for the module writer.
<pre>
// Print Hello World! when we execute.
void
PrintHelloWorldToScreen::execute()
{
cerr << "Hello World!" << endl;
}
</pre>
Here we have the definition of our execute method. This is where interesting things happen -- usually. For now we just print "Hello World!" to the shell you ran from.
Pretty simple so far, but you know are familiar with a few of the files and how you get your code to execute. Your next question will be how do I get some data into this execute method...
=== Getting Input ===
SCIRun::Examples::GetInputField
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/GetInputField.cc SCIRun/src/Dataflow/Modules/Examples/GetInputField.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/GetInputField.xml SCIRun/src/Dataflow/XML/GetInputField.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
This example lives in the source tree as GetInputField, but if you are writing a module as we go, you could simply add the new bits as you go to your module.
Now that we know how to execute, we would like to get some data passed into this module through its input port. First we need to let SCIRun know that we expect input and what type of input we expect. This happens in the XML file.
<pre>
<io>
<inputs lastportdynamic="no">
<port>
<name>InField</name>
<datatype>SCIRun::Field</datatype>
</port>
</inputs>
</io>
</pre>
The io section of our component contains port information. We give it a name (important to remember as we ask for this port by name from our C code) and we also give it a datatype. In this case we want to and only will accept SCIRun::Field as an input. Now when we instantiate this module, it will be created with a Field input port.
<pre>
// Print the value of the input fields data pointer when we execute.
void
GetInputField::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputField must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputField module got data :" << field_handle.get_rep() << endl;
}
</pre>
All data that pass through ports in SCIRun are passed using Handles. Our handles are reference counted locking handles. They are essentially smart pointers that delete the object they point to when no one has a reference to it anymore. First we declare an empty FieldHandle, then we ask for it to be filled with data from the input port named "InField". As you recall this is the exact string used in the xml file to declare the port name.
get_input_handle does a number of things for you. If the last argument is true, then we require input data on this port (some ports are optional). get_input_handle then blocks waiting for data to arrive on the port, makes sure it is non NULL, and sets the handle appropriately.
get_rep() is a method on the handle class itself. It returns the value of the underlying pointer. handles overload the -> operator, so that any calls made that way work as if the handle were an actual pointer to the object type.
Using get_rep() we print out the value of the pointer to the shell, verifying that we indeed got some valid data.
=== Sending Output ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/GetInputFieldAndSendAsOutput.cc SCIRun/src/Dataflow/Modules/Examples/GetInputFieldAndSendAsOutput.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/GetInputFieldAndSendAsOutput.xml SCIRun/src/Dataflow/XML/GetInputFieldAndSendAsOutput.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
In this example we simply add an output port, and send the same data we got as input along through the output port.
<pre>
<io>
<inputs lastportdynamic="no">
<port>
<name>InField</name>
<datatype>SCIRun::Field</datatype>
</port>
</inputs>
<outputs>
<port>
<name>OutField</name>
<datatype>SCIRun::Field</datatype>
</port>
</outputs>
</io>
</pre>
We add the output port and name it, very similar to adding the input port.
<pre>
void
GetInputFieldAndSendAsOutput::execute()
{
FieldHandle field_handle;
if (! get_input_handle("InField", field_handle, true)) {
error("GetInputFieldAndSendAsOutput must have a SCIRun::Field as input to continue.");
return;
}
cerr << "GetInputFieldAndSendAsOutput module got data :" << field_handle.get_rep() << endl;
send_output_handle("OutField", field_handle);
}
</pre>
send_output_handle takes the exact string we declared the output port with in our xml file, and we send the handle to our field along through the output port.
Now we know how to get data and send data, lets do something with this Field.
=== Changing Data Values ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/SetTetVolFieldValuesToZero.cc SCIRun/src/Dataflow/Modules/Examples/SetTetVolFieldValuesToZero.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/SetTetVolFieldValuesToZero.xml SCIRun/src/Dataflow/XML/SetTetVolFieldValuesToZero.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
In this example we get our first look at interfacing with a Field. The Field base class doesn't say much about what a field really is. Fields in SCIRun are designed somewhat like STL classes. There is a Field Concept, Mesh Concept, and Basis Concept. These guarantee certain interface to eachother such that they can be combined in a GenericField<> class via template arguments. This gives SCIRun great flexibility in Field creation. It also poses some logistical problems.
For now we will assume the input to this module is a specific fully instantiated type. Later we will show how to deal with the vast array of possible types that 'could' come in through this Field port.
<pre>
typedef TetVolMesh<TetLinearLgn<Point> > TVMesh;
typedef TetLinearLgn<double> DataBasis;
typedef GenericField<TVMesh, DataBasis, vector<double> > TVField;
</pre>
This set of typedefs we create mostly for readablity. This is a Tetrahedral mesh with double data, with both data and mesh having a linear basis.
<pre>
// Must detach since we will be altering the input field.
field_handle.detach();
</pre>
The detach call here is required for valid Dataflow. We fully intend on altering the data in this Field. The detach call on the handle tells the handle to clone the memory and become the only reference to that new memory. We have no idea how many other modules may get the same input handle, so to modify it underneath them is a no no.
<pre>
TVField *in = dynamic_cast<TVField*>(field_handle.get_rep());
if (in == 0) {
error("This Module only accepts Linear TetVol Fields with double data.");
return;
}
</pre>
Here we assure that the type of field we get is actually the one specific type we can handle. If we don't have input of this exact type, we call error with a message. This turns the status box on the module icon to red, and when you click it and open it, you will see the message. Then we return, since we do not know how to work on anything but that specific type.
<pre>
TVField::mesh_handle_type mh = in->get_typed_mesh();
TVMesh::Node::iterator iter;
TVMesh::Node::iterator end;
mh->begin(iter);
mh->end(end);
while (iter != end) {
TVMesh::Node::index_type ni = *iter;
Point node;
mh->get_center(node, ni);
TVField::value_type val;
in->value(val, ni);
cerr << "at point: " << node << "the input value is: " << val << endl;
// Set the value to be 0.0;
in->set_value(0.0, ni);
++iter;
}
</pre>
Yay some meat. We have a valid pointer, so we can now iterate over all the nodes in this mesh. For example purposes, we print out the x,y,z point of each node, as well as the value stored at the node. We can do this because we know we have a linear basis, so we are guaranteed to have at least one data value at each node. After we print out what we got as input, we go ahead and set each node value to 0.0 as the name of our module suggests. The data is then sent downstream as before.
=== User Input ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/SetTetVolFieldDataValues.cc SCIRun/src/Dataflow/Modules/Examples/SetTetVolFieldDataValues.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/SetTetVolFieldDataValues.xml SCIRun/src/Dataflow/XML/SetTetVolFieldDataValues.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/GUI/SetTetVolFieldDataValues.tcl SCIRun/branches/cibc/src/Dataflow/GUI/SetTetVolFieldDataValues.tcl]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/GUI/sub.mk SCIRun/branches/cibc/src/Dataflow/GUI/sub.mk]
Setting values to 0.0 may not be what we always want to do. Lets suppose the user would like to decide what value to set from a dialog. This example introduces a new file type. A tcl file, that follows the module ui convention, added to the sub.mk makefile fragment, will now trigger a UI button to show up on your instantiated module icon. If it does not, you forgot to add it to the makefile, or you mistyped the name of the class which follows a Package_Category_ModuleName convention.
<pre>
method ui {} {
set w .ui[modname]
if {[winfo exists $w]} {
return
}
toplevel $w
frame $w.f
pack $w.f -padx 2 -pady 2 -side top -expand yes
frame $w.f.options
pack $w.f.options -side top -expand yes
iwidgets::entryfield $w.f.options.format -labeltext "New Value:" \
-textvariable $this-newval
pack $w.f.options.format -side top -expand yes -fill x
makeSciButtonPanel $w.f $w $this
moveToCursor $w
pack $w.f -expand 1 -fill x
}
</pre>
The ui method in the .tcl file is what gets called when you click on the UI button. In this case we have an entryfield whose input is bound to a variable '''$this-newval''' which is important when we hook this up on the 'C' side.
<pre>
class SetTetVolFieldDataValues : public Module
{
public:
SetTetVolFieldDataValues(GuiContext*);
virtual ~SetTetVolFieldDataValues();
virtual void execute();
private:
GuiDouble newval_;
};
</pre>
Added to our class declaration is a GuiDouble. When we initialize this at construction time, we marry it to the tcl side variable of the specified name. We will be interpreting the input value as a double.
<pre>
SetTetVolFieldDataValues::SetTetVolFieldDataValues(GuiContext* ctx) :
Module("SetTetVolFieldDataValues", ctx, Source, "Examples", "SCIRun"),
newval_(get_ctx()->subVar("newval"), 1.0)
{
}
</pre>
Using the GuiContext object, we marry our GuiDouble to the tcl variable newval. $this- on the tcl side scopes our variable under our unique module id. The string we pass to subVar must match exactly the string after $this- on the tcl side. The second argument is the initializer.
<pre>
while (iter != end) {
TVMesh::Node::index_type ni = *iter;
Point node;
mh->get_center(node, ni);
TVField::value_type val;
in->value(val, ni);
cerr << "at point: " << node << " the input value is: " << val << endl;
// Set the value to be the value from the gui;
in->set_value(newval_.get(), ni);
++iter;
}
</pre>
Now in our loop, we ask for the value from the UI entry box that is coupled to our GuiDouble newval_. We call .get() on the GuiVar expecting a double since we know it is a GuiDouble. This value is now used to set the field variable value at each node.
=== Generic Algorithms ===
Files:
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/SetFieldDataValues.h SCIRun/src/Dataflow/Modules/Examples/SetFieldDataValues.h]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/SetFieldDataValues.cc SCIRun/src/Dataflow/Modules/Examples/SetFieldDataValues.cc]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/XML/SetFieldDataValues.xml SCIRun/src/Dataflow/XML/SetFieldDataValues.xml]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/GUI/SetFieldDataValues.tcl SCIRun/branches/cibc/src/Dataflow/GUI/SetFieldDataValues.tcl]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/Modules/Examples/sub.mk SCIRun/src/Dataflow/Modules/Examples/sub.mk]
* [https://code.sci.utah.edu/svn/SCIRun/branches/cibc/src/Dataflow/GUI/sub.mk SCIRun/branches/cibc/src/Dataflow/GUI/sub.mk]
This example shows how we can generically handle any and all Fields as input. We have augmented the RTTI from C++ such that we can compile algorithms at run time that are exactly typed on the input field. The algorithms use the Concepts involved to interface with the objects.
We introduce a new file, a .h file to contain the algorithm to be compiled.
<pre>
class SetFieldDataValuesAlgoBase : public DynamicAlgoBase
{
public:
virtual FieldHandle execute(ProgressReporter *, FieldHandle,
double) = 0;
//! support the dynamically compiled algorithm concept
static CompileInfoHandle get_compile_info(const TypeDescription *td);
};
template <class Fld>
class SetFieldDataValuesT : public SetFieldDataValuesAlgoBase
{
public:
//! virtual interface.
virtual FieldHandle execute(ProgressReporter *,
FieldHandle,
double);
};
</pre>
The base class inherits from DynamicAlgoBase. It is this type we will get a handle to in our module execute. The virtual method execute is our entry into our dynamically compiled algorithm. We call it execute by convention but you can call it whatever you wish. This is a class like any other, have as many methods, or data as you wish in the class.
The second declaration is the templated version which inherits from our base class and provides the overloaded virtual. It has one template parameter, in this case which we expect to be a Field.
<pre>
template <class Fld>
FieldHandle
SetFieldDataValuesT<Fld>::execute(ProgressReporter *reporter,
FieldHandle ifh,
double newval)
{
//Must detach since we will be altering the input field.
ifh.detach();
Fld* in = dynamic_cast<Fld*>(ifh.get_rep());
if (! in) {
cerr << "Input field type does not match algorithm paramter type."
<< endl;
return 0;
}
typedef typename Fld::mesh_type Msh;
typename Fld::mesh_handle_type mh = in->get_typed_mesh();
typename Msh::Node::iterator iter;
typename Msh::Node::iterator end;
mh->synchronize(Mesh::NODES_E);
mh->begin(iter);
mh->end(end);
while (iter != end) {
typename Msh::Node::index_type ni = *iter;
Point node;
mh->get_center(node, ni);
typename Fld::value_type val;
in->value(val, ni);
cerr << "at point: " << node << " the input value is: " << val << endl;
// Set the value to be the value from the gui;
in->set_value(newval, ni);
++iter;
}
return ifh;
}
</pre>
This should look pretty familiar at this point, except that no where do we know the exact type of the field. We pass in the new value we want to set as a method parameter, but otherwise it is roughly the same code as before.
Now we want to instantiate a specific instance of this algorithm based upon the input field type, so lets go to the .cc file.
<pre>
const TypeDescription *ftd = field_handle->get_type_description();
CompileInfoHandle ci = SetFieldDataValuesAlgoBase::get_compile_info(ftd);
Handle<SetFieldDataValuesAlgoBase> algo;
if (!DynamicCompilation::compile(ci, algo, this)) return;
FieldHandle out_field_handle(algo->execute(this, field_handle, newval_.get()));
</pre>
Here we use our augmented RTTI to get all the strings required to write out a .cc file with the algorithm instantiation in it. We do this with get_type_decription() on the input field.
When we call compile we get our handle algo filled up. A .cc instantiation file is created, compiled into a small library, loaded into the system, and instantiated. It is then set in the handle algo. If you have compile errors the function will fail, and you will see the errors from your status box.
Finally we call our newly compiled algorithm, which has been instantiated for the input field type.
<pre>
CompileInfoHandle
SetFieldDataValuesAlgoBase::get_compile_info(const TypeDescription *td)
{
// use cc_to_h if this is in the .cc file, otherwise just __FILE__
static const string include_path(TypeDescription::cc_to_h(__FILE__));
static const string template_class_name("SetFieldDataValuesT");
static const string base_class_name("SetFieldDataValuesAlgoBase");
CompileInfo *rval = scinew CompileInfo(template_class_name + "." +
td->get_filename() + ".",
base_class_name,
template_class_name,
td->get_name());
rval->add_include(include_path);
td->fill_compile_info(rval);
return rval;
}
</pre>
get_compile_info we provide in this file as well. It sets up some more strings, that let us know where files are etc. and fills up the CompileInfo object with all the strings needed to write an instantiation file.
CIBC:Documentation:SCIRun:ReleaseNotes:3.0
0
1088
1514
1512
2006-10-25T20:58:09Z
Macleod
3
/* Release Notes for SCIRun/BioPSE Version 1.26.0 */
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 1.26.0 ==
:SCIRun Version 3.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== New features ===
====Installation====
* The make system has been converted to CMAKE (See Installation Guide for details).
* The ThirdParty installation now includes the following packages: LibPNG, LibXML, FreeType, and Glew. All are required for SCIRun.
* The following packages have been removed from ThirdParty: Xerces, ImageMagick.
* ThirdParty can now be compiled using the same script for all supported operating systems
====Supported systems====
* Added support for Intel based Macintosh machines.
* Discontinued support for OS X 10.3 or lower (SCIRun now requires the execution of static constructors upon loading a library).
* SCIRun is now supported under Windows XP as well (with the exception of the interactive Matlab modules)
====Visualization====
* The volume renderer supports now a label map (segmentation) to select a specific 2D colormap
* The volume renderer has been rewritten to support larger volumes and automatic bricking if not enough memory is available
* The viewer now supports the visualization of degenerate meshes
* Data located on cell elements is now shown in the viewer using the colormap
* SCIRun now has a model underlying each mesh type of how to interpolate data between nodes.
* Added support for bilinear and trilinear interpolation.
* Added support for visualization of non linear mesh types (Currently limited to visualization).
====Modeling====
* Finite element support has been completely rewritten and now both anisotropic as well as isotropic models are supported for each mesh class in SCIRun.
* A new module has been added that allows better creating Diriclet Boundary Conditions.
====Network Editor====
* The network editor now blocks all editing while a network is executing (In the next release we will enable this feature again if scheduling problems have been fixed).
* Improved synchroniztion of Viewer and Network.
* The network editor is now able to save relative filenames for increased portablity between systems.
====Modules====
* All modules have been given a new name.
====Documentation====
* Documentation has been merged over into a Wiki, so users can help updating and documenting the software system.
=== Bug fixes ===
* Performance issues with Dense and Sparse matrix multiplications have been fixed.
* Performance issues with isosurface generation have been fixed
----
[[CIBC:Documentation:SCIRun|Go back to SCIRun Documentation]]
1519
1514
2006-10-26T20:05:56Z
Jeroen
19
/* Release Notes for SCIRun/BioPSE Version 1.26.0 */
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 3.0 ==
:SCIRun Version 3.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== New features ===
====Installation====
* The make system has been converted to CMAKE (See Installation Guide for details).
* The ThirdParty installation now includes the following packages: LibPNG, LibXML, FreeType, and Glew. All are required for SCIRun.
* The following packages have been removed from ThirdParty: Xerces, ImageMagick.
* ThirdParty can now be compiled using the same script for all supported operating systems
====Supported systems====
* Added support for Intel based Macintosh machines.
* Discontinued support for OS X 10.3 or lower (SCIRun now requires the execution of static constructors upon loading a library).
* SCIRun is now supported under Windows XP as well (with the exception of the interactive Matlab modules)
====Visualization====
* The volume renderer supports now a label map (segmentation) to select a specific 2D colormap
* The volume renderer has been rewritten to support larger volumes and automatic bricking if not enough memory is available
* The viewer now supports the visualization of degenerate meshes
* Data located on cell elements is now shown in the viewer using the colormap
* SCIRun now has a model underlying each mesh type of how to interpolate data between nodes.
* Added support for bilinear and trilinear interpolation.
* Added support for visualization of non linear mesh types (Currently limited to visualization).
====Modeling====
* Finite element support has been completely rewritten and now both anisotropic as well as isotropic models are supported for each mesh class in SCIRun.
* A new module has been added that allows better creating Diriclet Boundary Conditions.
====Network Editor====
* The network editor now blocks all editing while a network is executing (In the next release we will enable this feature again if scheduling problems have been fixed).
* Improved synchroniztion of Viewer and Network.
* The network editor is now able to save relative filenames for increased portablity between systems.
====Modules====
* All modules have been given a new name.
====Documentation====
* Documentation has been merged over into a Wiki, so users can help updating and documenting the software system.
=== Bug fixes ===
* Performance issues with Dense and Sparse matrix multiplications have been fixed.
* Performance issues with isosurface generation have been fixed
----
[[CIBC:Documentation:SCIRun|Go back to SCIRun Documentation]]
1524
1519
2006-10-26T20:15:36Z
Jeroen
19
/* Bug fixes */
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 3.0 ==
:SCIRun Version 3.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== New features ===
====Installation====
* The make system has been converted to CMAKE (See Installation Guide for details).
* The ThirdParty installation now includes the following packages: LibPNG, LibXML, FreeType, and Glew. All are required for SCIRun.
* The following packages have been removed from ThirdParty: Xerces, ImageMagick.
* ThirdParty can now be compiled using the same script for all supported operating systems
====Supported systems====
* Added support for Intel based Macintosh machines.
* Discontinued support for OS X 10.3 or lower (SCIRun now requires the execution of static constructors upon loading a library).
* SCIRun is now supported under Windows XP as well (with the exception of the interactive Matlab modules)
====Visualization====
* The volume renderer supports now a label map (segmentation) to select a specific 2D colormap
* The volume renderer has been rewritten to support larger volumes and automatic bricking if not enough memory is available
* The viewer now supports the visualization of degenerate meshes
* Data located on cell elements is now shown in the viewer using the colormap
* SCIRun now has a model underlying each mesh type of how to interpolate data between nodes.
* Added support for bilinear and trilinear interpolation.
* Added support for visualization of non linear mesh types (Currently limited to visualization).
====Modeling====
* Finite element support has been completely rewritten and now both anisotropic as well as isotropic models are supported for each mesh class in SCIRun.
* A new module has been added that allows better creating Diriclet Boundary Conditions.
====Network Editor====
* The network editor now blocks all editing while a network is executing (In the next release we will enable this feature again if scheduling problems have been fixed).
* Improved synchroniztion of Viewer and Network.
* The network editor is now able to save relative filenames for increased portablity between systems.
====Modules====
* All modules have been given a new name.
====Documentation====
* Documentation has been merged over into a Wiki, so users can help updating and documenting the software system.
=== Bug fixes ===
* Performance issues with Dense and Sparse matrix multiplications have been fixed.
* Performance issues with isosurface generation have been fixed
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]
1525
1524
2006-10-26T21:33:13Z
Jeroen
19
/* Supported systems */
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 3.0 ==
:SCIRun Version 3.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== New features ===
====Installation====
* The make system has been converted to CMAKE (See Installation Guide for details).
* The ThirdParty installation now includes the following packages: LibPNG, LibXML, FreeType, and Glew. All are required for SCIRun.
* The following packages have been removed from ThirdParty: Xerces, ImageMagick.
* ThirdParty can now be compiled using the same script for all supported operating systems
====Supported systems====
* Added support for Intel based Macintosh machines.
* Discontinued support for OS X 10.3 or lower (SCIRun now requires the execution of static constructors upon loading a library).
* SCIRun is now supported under Windows XP as well (with the exception of the interactive Matlab modules, which is supported by OS 10.4 and later)
====Visualization====
* The volume renderer supports now a label map (segmentation) to select a specific 2D colormap
* The volume renderer has been rewritten to support larger volumes and automatic bricking if not enough memory is available
* The viewer now supports the visualization of degenerate meshes
* Data located on cell elements is now shown in the viewer using the colormap
* SCIRun now has a model underlying each mesh type of how to interpolate data between nodes.
* Added support for bilinear and trilinear interpolation.
* Added support for visualization of non linear mesh types (Currently limited to visualization).
====Modeling====
* Finite element support has been completely rewritten and now both anisotropic as well as isotropic models are supported for each mesh class in SCIRun.
* A new module has been added that allows better creating Diriclet Boundary Conditions.
====Network Editor====
* The network editor now blocks all editing while a network is executing (In the next release we will enable this feature again if scheduling problems have been fixed).
* Improved synchroniztion of Viewer and Network.
* The network editor is now able to save relative filenames for increased portablity between systems.
====Modules====
* All modules have been given a new name.
====Documentation====
* Documentation has been merged over into a Wiki, so users can help updating and documenting the software system.
=== Bug fixes ===
* Performance issues with Dense and Sparse matrix multiplications have been fixed.
* Performance issues with isosurface generation have been fixed
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]
1526
1525
2006-10-26T21:33:47Z
Jeroen
19
/* Modeling */
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 3.0 ==
:SCIRun Version 3.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== New features ===
====Installation====
* The make system has been converted to CMAKE (See Installation Guide for details).
* The ThirdParty installation now includes the following packages: LibPNG, LibXML, FreeType, and Glew. All are required for SCIRun.
* The following packages have been removed from ThirdParty: Xerces, ImageMagick.
* ThirdParty can now be compiled using the same script for all supported operating systems
====Supported systems====
* Added support for Intel based Macintosh machines.
* Discontinued support for OS X 10.3 or lower (SCIRun now requires the execution of static constructors upon loading a library).
* SCIRun is now supported under Windows XP as well (with the exception of the interactive Matlab modules, which is supported by OS 10.4 and later)
====Visualization====
* The volume renderer supports now a label map (segmentation) to select a specific 2D colormap
* The volume renderer has been rewritten to support larger volumes and automatic bricking if not enough memory is available
* The viewer now supports the visualization of degenerate meshes
* Data located on cell elements is now shown in the viewer using the colormap
* SCIRun now has a model underlying each mesh type of how to interpolate data between nodes.
* Added support for bilinear and trilinear interpolation.
* Added support for visualization of non linear mesh types (Currently limited to visualization).
====Modeling====
* Finite element support has been completely rewritten and now both anisotropic as well as isotropic models are supported for each mesh class available in SCIRun.
* A new module has been added that allows better creating Diriclet Boundary Conditions.
====Network Editor====
* The network editor now blocks all editing while a network is executing (In the next release we will enable this feature again if scheduling problems have been fixed).
* Improved synchroniztion of Viewer and Network.
* The network editor is now able to save relative filenames for increased portablity between systems.
====Modules====
* All modules have been given a new name.
====Documentation====
* Documentation has been merged over into a Wiki, so users can help updating and documenting the software system.
=== Bug fixes ===
* Performance issues with Dense and Sparse matrix multiplications have been fixed.
* Performance issues with isosurface generation have been fixed
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]
1869
1526
2006-10-26T21:35:18Z
Jeroen
19
/* Network Editor */
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 3.0 ==
:SCIRun Version 3.0
:Release date: November ??, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== New features ===
====Installation====
* The make system has been converted to CMAKE (See Installation Guide for details).
* The ThirdParty installation now includes the following packages: LibPNG, LibXML, FreeType, and Glew. All are required for SCIRun.
* The following packages have been removed from ThirdParty: Xerces, ImageMagick.
* ThirdParty can now be compiled using the same script for all supported operating systems
====Supported systems====
* Added support for Intel based Macintosh machines.
* Discontinued support for OS X 10.3 or lower (SCIRun now requires the execution of static constructors upon loading a library).
* SCIRun is now supported under Windows XP as well (with the exception of the interactive Matlab modules, which is supported by OS 10.4 and later)
====Visualization====
* The volume renderer supports now a label map (segmentation) to select a specific 2D colormap
* The volume renderer has been rewritten to support larger volumes and automatic bricking if not enough memory is available
* The viewer now supports the visualization of degenerate meshes
* Data located on cell elements is now shown in the viewer using the colormap
* SCIRun now has a model underlying each mesh type of how to interpolate data between nodes.
* Added support for bilinear and trilinear interpolation.
* Added support for visualization of non linear mesh types (Currently limited to visualization).
====Modeling====
* Finite element support has been completely rewritten and now both anisotropic as well as isotropic models are supported for each mesh class available in SCIRun.
* A new module has been added that allows better creating Diriclet Boundary Conditions.
====Network Editor====
* The network editor now blocks all editing while a network is executing (In the next release we will enable this feature again if scheduling problems have been fixed).
* Improved synchroniztion of Viewer and Network.
* The network editor is now able to save relative filenames for increased portablity between systems.
* Save As now displays the current name.
* The network fileformant has been ported to XML. The new network files are now called .srn instead of the old .net files.
====Modules====
* All modules have been given a new name.
====Documentation====
* Documentation has been merged over into a Wiki, so users can help updating and documenting the software system.
=== Bug fixes ===
* Performance issues with Dense and Sparse matrix multiplications have been fixed.
* Performance issues with isosurface generation have been fixed
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun
0
1087
1515
1513
2006-10-26T20:05:09Z
Jeroen
19
/* '''General Documentation''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE and PowerApps Version 1.26'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:1.26|Release Notes Version 3.0]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
----
===='''BioPSE PowerApps'''====
----
[[CIBC:Documentation|Go back to Documentation]]
1520
1515
2006-10-26T20:06:24Z
Jeroen
19
/* '''General Documentation''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE and PowerApps Version 1.26'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:3.0|Release Notes Version 3.0]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
----
===='''BioPSE PowerApps'''====
----
[[CIBC:Documentation|Go back to Documentation]]
1521
1520
2006-10-26T20:16:05Z
Jeroen
19
/* '''BioPSE PowerApps''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE and PowerApps Version 1.26'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:3.0|Release Notes Version 3.0]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
----
===='''BioPSE PowerApps'''====
----
Go back to
[[CIBC:Documentation|Documentation]]
1626
1521
2006-10-26T20:16:20Z
Jeroen
19
/* '''SCIRun/BioPSE and PowerApps Version 1.26''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE and PowerApps Version 3.0'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:3.0|Release Notes Version 3.0]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Manual]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
----
===='''BioPSE PowerApps'''====
----
Go back to
[[CIBC:Documentation|Documentation]]
CIBC:Documentation:SCIRun:ReleaseNotes:1.26
0
1129
3268
2006-10-26T20:05:27Z
Jeroen
19
CIBC:Documentation:SCIRun:ReleaseNotes:1.26 moved to CIBC:Documentation:SCIRun:ReleaseNotes:3.0
wikitext
text/x-wiki
#REDIRECT [[CIBC:Documentation:SCIRun:ReleaseNotes:3.0]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle
0
1101
1517
1516
2006-10-26T20:10:42Z
Jeroen
19
/* Recent Changes */
wikitext
text/x-wiki
=='''GetPathsFromBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module retrieves a 'path' object from a bundle.
====Detailed Description====
This module retrieves a 'path' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'path' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CICB:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
1560
1517
2006-10-26T20:14:15Z
Jeroen
19
/* Recent Changes */
wikitext
text/x-wiki
=='''GetPathsFromBundle'''==
===Information===
;Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''1.26'''
----
===Description===
====Summary====
This module retrieves a 'path' object from a bundle.
====Detailed Description====
This module retrieves a 'path' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'path' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference
0
1089
1543
1518
2006-10-26T20:15:03Z
Jeroen
19
/* '''Module Reference''' */
wikitext
text/x-wiki
=='''Module Reference'''==
'''SCIRun'''
;[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun Modules]]
:Reference documentation on all modules inside the Core of SCIRun
'''Packages (stable)'''
;[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE Modules]]
:This extension package has modules for doing bioelectic field calculations
;[[CIBC:Documentation:SCIRun:Reference:Insight|Insight Modules]]
:This extension package contains an interface to the Insight ToolKit
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface Modules]]
:This extension package contains an interface to Matlab
;[[CIBC:Documentation:SCIRun:Reference:Teem|Teem Modules]]
:This extension package contains an interface to the Teem library
'''Packages (under development)'''
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CarioWaveInterface Modules]]
:This extension package contains an interface to the CardioWave simulator
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation Modules]]
:A sandbox containing modeling and meshing tools, that ultimately will be integrated in the core of SCIRun
----
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface
0
1090
1576
1522
2006-10-26T20:17:21Z
Jeroen
19
/* '''DataIO''' */
wikitext
text/x-wiki
=='''MatlabInterface Reference'''==
==='''Package Description'''===
This package adds an interface to Matlab to SCIRun. The package contains an interface, which allows for small Matlab scripts to be inserted into SCIRun's dataflow networks and a converter to import and export SCIRun dataflow objects as Matlab files.
----
==='''Module Reference'''===
===='''Interface'''====
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab|InterfaceWithMatlab]]
:Module for interactively communicating with Matlab
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlabViaBundles|InterfaceWithMatlabViaBundles]]
:Module for interactively communicating with Matlab using Bundles
===='''DataIO'''====
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:SCIRun
0
1095
1527
1523
2006-10-26T20:18:03Z
Jeroen
19
/* '''Visualization''' */
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a 'bundle' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a 'colormap2' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a 'colormap' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a 'field' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a 'matrix' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a 'nrrd' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a 'path' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a 'string' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module adds a 'bundle' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module adds a 'colormap2' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module adds a 'colormap' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module adds a 'field' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module adds a 'matrix' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module adds a 'nrrd' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module adds a 'path' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module adds a 'string' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldData2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldData3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a bundle from disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:The ColorMap Read a persistent colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:The ColorMap2 Read a persistent 2d colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:ReadField allows the user to load-in any of the SCIRun supported Field types and then sends that Field to another module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:The ReadMatrix moudle reads a persistent matrix from a file and sends that matrix to another module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:The ReadPath module reads a persistent camera path from a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a bundle to disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:Saves persistent field objects received from upstream modules.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:The WriteMatrix modules saves a persistent representation of a matrix to disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:The WritePath module saves persistent representation of a path to a file.
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|AppendMatrix]]
:Composite a matrix from components.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
1674
1527
2006-10-27T17:23:09Z
Jeroen
19
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a 'bundle' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a 'colormap2' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a 'colormap' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a 'field' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a 'matrix' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a 'nrrd' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a 'path' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a 'string' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module adds a 'bundle' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module adds a 'colormap2' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module adds a 'colormap' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module adds a 'field' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module adds a 'matrix' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module adds a 'nrrd' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module adds a 'path' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module adds a 'string' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldData2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldData3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a bundle from disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:The ColorMap Read a persistent colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:The ColorMap2 Read a persistent 2d colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:ReadField allows the user to load-in any of the SCIRun supported Field types and then sends that Field to another module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:The ReadMatrix moudle reads a persistent matrix from a file and sends that matrix to another module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:The ReadPath module reads a persistent camera path from a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a bundle to disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:Saves persistent field objects received from upstream modules.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:The WriteMatrix modules saves a persistent representation of a matrix to disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:The WritePath module saves persistent representation of a path to a file.
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|AppendMatrix]]
:Composite a matrix from components.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle
0
1096
1663
1528
2006-10-27T17:26:00Z
Jeroen
19
wikitext
text/x-wiki
=='''GetBundlesFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a 'bundle' object from a bundle.
====Detailed Description====
This module retrieves a 'bundle' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'bundle' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:SoftwareDesign
0
1130
1646
2006-10-27T17:35:50Z
Jeroen
19
wikitext
text/x-wiki
== Software Design ==
===Projects===
;[[CIBC:SoftwareDesign:LinearAlgebra|Linear Algebra]]
:Making better use of CBLAS/ATLAS as well as parallel computing
----
CIBC:SoftwareDesign:LinearAlgebra
0
1131
1530
2006-10-27T17:50:14Z
Jeroen
19
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. The
1531
1530
2006-10-27T17:56:09Z
Jeroen
19
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads.
1532
1531
2006-10-27T18:19:45Z
Jeroen
19
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads. In this case MPI calls are replaced with the matrix operations. As DMatrix is aware of the environment it will execute an addition, multiply or solve in parallel and make it appear that every thread did the same operation.
class ParallelLinearAlgebra {
public:
// Constructor
// Setup a series of threads to do parallel math
ParallelLinearAlgebra(unsigned int numprocesses);
// Automatically detect the number of cores we can use for parallel math
ParallelLinearAlgebra();
// Function that needs to be overloaded with the actual parallel code
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
// Function that needs to be called from the normal single execution world
void execute(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
1533
1532
2006-10-27T18:25:20Z
Jeroen
19
/* New parallel environment */
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads. In this case MPI calls are replaced with the matrix operations. As DMatrix is aware of the environment it will execute an addition, multiply or solve in parallel and make it appear that every thread did the same operation.
This is how I see the environment would look like
class ParallelLinearAlgebra {
public:
// Constructor
// Setup a series of threads to do parallel math
ParallelLinearAlgebra(unsigned int numprocesses);
// Automatically detect the number of cores we can use for parallel math
ParallelLinearAlgebra();
// Function that needs to be overloaded with the actual parallel code
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
// Function that needs to be called from the normal single execution world
void execute(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
To use this class one should overload the function with the parallel code:
class MyParallelCode public: ParallelLinearAlgebra {
public:
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
An example of parallel code could be like this:
void
MyParallelCode::function(vector<DMatrix> inputs, vector<DMatrix>& outputs)
{
DMatrix A(inputs[0]);
DMatrix B(inputs[1]);
DMatrix C(outputs[0]);
C= A*B + 10*B;
}
1534
1533
2006-10-27T18:29:31Z
Jeroen
19
/* New parallel environment */
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads. In this case MPI calls are replaced with the matrix operations. As DMatrix is aware of the environment it will execute an addition, multiply or solve in parallel and make it appear that every thread did the same operation.
This is how I see the environment would look like
class ParallelLinearAlgebra {
public:
// Constructor
// Setup a series of threads to do parallel math
ParallelLinearAlgebra(unsigned int numprocesses);
// Automatically detect the number of cores we can use for parallel math
ParallelLinearAlgebra();
// Function that needs to be overloaded with the actual parallel code
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
// Function that needs to be called from the normal single execution world
void execute(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
To use this class one should overload the function with the parallel code:
class MyParallelCode public: ParallelLinearAlgebra {
public:
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
An example of parallel code could be like this:
void
MyParallelCode::function(vector<DMatrix> inputs, vector<DMatrix>& outputs)
{
DMatrix A(inputs[0]);
DMatrix B(inputs[1]);
DMatrix C(outputs[0]);
C= A*B + 10*B;
}
One could execute a piece of parallel code as following:
MyParallelCode mycode;
vector<DMatrix> inputs(2);
vector<DMatrix> outputs(1);
input[0] = matrix1;
input[1] = matrix2;
mycode.execute(inputs,outputs);
MatrixHandle output = outputs[0].get_matrix_handle();
1535
1534
2006-10-27T18:32:01Z
Jeroen
19
/* New parallel environment */
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads. In this case MPI calls are replaced with the matrix operations. As DMatrix is aware of the environment it will execute an addition, multiply or solve in parallel and make it appear that every thread did the same operation.
This is how I see the environment would look like
class ParallelLinearAlgebra {
public:
// Constructor
// Setup a series of threads to do parallel math
ParallelLinearAlgebra(unsigned int numprocesses);
// Automatically detect the number of cores we can use for parallel math
ParallelLinearAlgebra();
// Function that needs to be overloaded with the actual parallel code
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
// Function that needs to be called from the normal single execution world
void execute(vector<MatrixHandle> inputs, vector<MatrixHandle>& outputs);
};
To use this class one should overload the function with the parallel code:
class MyParallelCode public: ParallelLinearAlgebra {
public:
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
An example of parallel code could be like this:
void
MyParallelCode::function(vector<DMatrix> inputs, vector<DMatrix>& outputs)
{
DMatrix A(inputs[0]);
DMatrix B(inputs[1]);
DMatrix C(outputs[0]);
C= A*B + 10*B;
}
One could execute a piece of parallel code as following:
// My parallel module
MyParallelCode mycode;
vector<MatrixHandle> inputs(2);
vector<MatrixHandle> outputs(1);
input[0] = matrix1;
input[1] = matrix2;
mycode.execute(inputs,outputs);
MatrixHandle output = outputs[0];
1536
1535
2006-10-27T18:43:38Z
Jeroen
19
/* Linear Algebra */
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads. In this case MPI calls are replaced with the matrix operations. As DMatrix is aware of the environment it will execute an addition, multiply or solve in parallel and make it appear that every thread did the same operation.
This is how I see the environment would look like
class ParallelLinearAlgebra {
public:
// Constructor
// Setup a series of threads to do parallel math
ParallelLinearAlgebra(unsigned int numprocesses);
// Automatically detect the number of cores we can use for parallel math
ParallelLinearAlgebra();
// Function that needs to be overloaded with the actual parallel code
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
// Function that needs to be called from the normal single execution world
void execute(vector<MatrixHandle> inputs, vector<MatrixHandle>& outputs);
};
To use this class one should overload the function with the parallel code:
class MyParallelCode public: ParallelLinearAlgebra {
public:
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
An example of parallel code could be like this:
void
MyParallelCode::function(vector<DMatrix> inputs, vector<DMatrix>& outputs)
{
DMatrix A(inputs[0]);
DMatrix B(inputs[1]);
DMatrix C(outputs[0]);
C= A*B + 10*B;
}
One could execute a piece of parallel code as following:
// My parallel module
MyParallelCode mycode;
vector<MatrixHandle> inputs(2);
vector<MatrixHandle> outputs(1);
input[0] = matrix1;
input[1] = matrix2;
mycode.execute(inputs,outputs);
MatrixHandle output = outputs[0];
===Memory management===
For the DMatrix class I would use a similar memory management method as used in the matlab classes. Here the object is not directly a handle but not directly an object neither. It is an extended handle that knows the basic properties of the matrix, but can share data with other DMatrices (the datablock idea). This way we can have the algebra in the functions look like real algebra and type like real algebra and only copies are made when it is really necessary. Hence the DMatrix will know whether the data it has is shared or whether it can write the data. If it is shared it will clone when the matrix is altered.
The current SCIRun concept of Handles does not support this directly hence it will be added into this new parallel object.
===Local variables===
One can define local variables in the parallel construct, however one has to be aware that the code is running in parallel and that operations on local doubles are done for each thread.
===Accessing SCIRun from parallel world===
This requires some more thought as code runs in parallel, one cannot access SCIRun elements that run in the single threaded world directly as one would access it n times. Hence the environment will have some clause to see the rank of the process. One could add something like:
if (get_rank())
{
// Access SCIRun object
...
}
And I assume we should have a basic send and receive setup so one can synchronize variables between threads. Although for most basic linear algebra we would probably not need this.
1537
1536
2006-10-27T18:45:08Z
Jeroen
19
/* Accessing SCIRun from parallel world */
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads. In this case MPI calls are replaced with the matrix operations. As DMatrix is aware of the environment it will execute an addition, multiply or solve in parallel and make it appear that every thread did the same operation.
This is how I see the environment would look like
class ParallelLinearAlgebra {
public:
// Constructor
// Setup a series of threads to do parallel math
ParallelLinearAlgebra(unsigned int numprocesses);
// Automatically detect the number of cores we can use for parallel math
ParallelLinearAlgebra();
// Function that needs to be overloaded with the actual parallel code
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
// Function that needs to be called from the normal single execution world
void execute(vector<MatrixHandle> inputs, vector<MatrixHandle>& outputs);
};
To use this class one should overload the function with the parallel code:
class MyParallelCode public: ParallelLinearAlgebra {
public:
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
An example of parallel code could be like this:
void
MyParallelCode::function(vector<DMatrix> inputs, vector<DMatrix>& outputs)
{
DMatrix A(inputs[0]);
DMatrix B(inputs[1]);
DMatrix C(outputs[0]);
C= A*B + 10*B;
}
One could execute a piece of parallel code as following:
// My parallel module
MyParallelCode mycode;
vector<MatrixHandle> inputs(2);
vector<MatrixHandle> outputs(1);
input[0] = matrix1;
input[1] = matrix2;
mycode.execute(inputs,outputs);
MatrixHandle output = outputs[0];
===Memory management===
For the DMatrix class I would use a similar memory management method as used in the matlab classes. Here the object is not directly a handle but not directly an object neither. It is an extended handle that knows the basic properties of the matrix, but can share data with other DMatrices (the datablock idea). This way we can have the algebra in the functions look like real algebra and type like real algebra and only copies are made when it is really necessary. Hence the DMatrix will know whether the data it has is shared or whether it can write the data. If it is shared it will clone when the matrix is altered.
The current SCIRun concept of Handles does not support this directly hence it will be added into this new parallel object.
===Local variables===
One can define local variables in the parallel construct, however one has to be aware that the code is running in parallel and that operations on local doubles are done for each thread.
===Accessing SCIRun from parallel world===
This requires some more thought as code runs in parallel, one cannot access SCIRun elements that run in the single threaded world directly as one would access it n times. Hence the environment will have some clause to see the rank of the process. One could add something like:
if (get_rank() == 0)
{
// Access SCIRun object
...
}
And I assume we should have a basic send and receive setup so one can synchronize variables between threads. Although for most basic linear algebra we would probably not need this.
template<class T>
sync_to_all(T& var, int from_rank);
1538
1537
2006-10-27T18:46:22Z
Jeroen
19
/* Local variables */
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads. In this case MPI calls are replaced with the matrix operations. As DMatrix is aware of the environment it will execute an addition, multiply or solve in parallel and make it appear that every thread did the same operation.
This is how I see the environment would look like
class ParallelLinearAlgebra {
public:
// Constructor
// Setup a series of threads to do parallel math
ParallelLinearAlgebra(unsigned int numprocesses);
// Automatically detect the number of cores we can use for parallel math
ParallelLinearAlgebra();
// Function that needs to be overloaded with the actual parallel code
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
// Function that needs to be called from the normal single execution world
void execute(vector<MatrixHandle> inputs, vector<MatrixHandle>& outputs);
};
To use this class one should overload the function with the parallel code:
class MyParallelCode public: ParallelLinearAlgebra {
public:
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
An example of parallel code could be like this:
void
MyParallelCode::function(vector<DMatrix> inputs, vector<DMatrix>& outputs)
{
DMatrix A(inputs[0]);
DMatrix B(inputs[1]);
DMatrix C(outputs[0]);
C= A*B + 10*B;
}
One could execute a piece of parallel code as following:
// My parallel module
MyParallelCode mycode;
vector<MatrixHandle> inputs(2);
vector<MatrixHandle> outputs(1);
input[0] = matrix1;
input[1] = matrix2;
mycode.execute(inputs,outputs);
MatrixHandle output = outputs[0];
===Memory management===
For the DMatrix class I would use a similar memory management method as used in the matlab classes. Here the object is not directly a handle but not directly an object neither. It is an extended handle that knows the basic properties of the matrix, but can share data with other DMatrices (the datablock idea). This way we can have the algebra in the functions look like real algebra and type like real algebra and only copies are made when it is really necessary. Hence the DMatrix will know whether the data it has is shared or whether it can write the data. If it is shared it will clone when the matrix is altered.
The current SCIRun concept of Handles does not support this directly hence it will be added into this new parallel object.
===Local variables===
One can define local variables in the parallel construct, however one has to be aware that the code is running in parallel and that operations on local doubles are done for each thread.
===Accessing SCIRun from parallel world===
This requires some more thought as code runs in parallel, one cannot access SCIRun elements that run in the single threaded world directly as one would access it n times. Hence the environment will have some clause to see the rank of the process. One could add something like:
if (get_rank() == 0)
{
// Access SCIRun object
...
}
And I assume we should have a basic send and receive setup so one can synchronize variables between threads. Although for most basic linear algebra we would probably not need this.
template<class T>
sync_to_all(T& var, int from_rank);
1539
1538
2006-10-27T19:41:51Z
Jeroen
19
/* Linear Algebra */
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads. In this case MPI calls are replaced with the matrix operations. As DMatrix is aware of the environment it will execute an addition, multiply or solve in parallel and make it appear that every thread did the same operation.
This is how I see the environment would look like
class ParallelLinearAlgebra {
public:
// Constructor
// Setup a series of threads to do parallel math
ParallelLinearAlgebra(unsigned int numprocesses);
// Automatically detect the number of cores we can use for parallel math
ParallelLinearAlgebra();
// Function that needs to be overloaded with the actual parallel code
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
// Function that needs to be called from the normal single execution world
void execute(vector<MatrixHandle> inputs, vector<MatrixHandle>& outputs);
};
To use this class one should overload the function with the parallel code:
class MyParallelCode public: ParallelLinearAlgebra {
public:
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
An example of parallel code could be like this:
void
MyParallelCode::function(vector<DMatrix> inputs, vector<DMatrix>& outputs)
{
DMatrix A(inputs[0]);
DMatrix B(inputs[1]);
DMatrix C(outputs[0]);
C= A*B + 10*B;
}
One could execute a piece of parallel code as following:
// My parallel module
MyParallelCode mycode;
vector<MatrixHandle> inputs(2);
vector<MatrixHandle> outputs(1);
input[0] = matrix1;
input[1] = matrix2;
mycode.execute(inputs,outputs);
MatrixHandle output = outputs[0];
===Memory management===
For the DMatrix class I would use a similar memory management method as used in the matlab classes. Here the object is not directly a handle but not directly an object neither. It is an extended handle that knows the basic properties of the matrix, but can share data with other DMatrices (the datablock idea). This way we can have the algebra in the functions look like real algebra and type like real algebra and only copies are made when it is really necessary. Hence the DMatrix will know whether the data it has is shared or whether it can write the data. If it is shared it will clone when the matrix is altered.
The current SCIRun concept of Handles does not support this directly hence it will be added into this new parallel object.
===Local variables===
One can define local variables in the parallel construct, however one has to be aware that the code is running in parallel and that operations on local doubles are done for each thread.
===Accessing SCIRun from parallel world===
This requires some more thought as code runs in parallel, one cannot access SCIRun elements that run in the single threaded world directly as one would access it n times. Hence the environment will have some clause to see the rank of the process. One could add something like:
if (get_rank() == 0)
{
// Access SCIRun object
...
}
And I assume we should have a basic send and receive setup so one can synchronize variables between threads. Although for most basic linear algebra we would probably not need this.
template<class T>
sync_to_all(T& var, int from_rank);
===Functions to support===
Here is a lsit functions we might want to support in this environment:
====Matrix types====
* 2D dense matrix (a 1x1 matrix can be a scalar)
* 2D sparse matrix
====Functions====
Matrix operations:
* Addition
* Substraction
* Mulitplication
* Inversion
* Transpose
Matrix to Scalar:
* Norm
* Abs
* Maximum
* Minimum
* Mean
Solvers:
* ConjGrad
* BiConjGrad
* GMRES
Operation per matrix element:
* sin, cos, tan, ctg
* asin, acos, atan, actg
* ceil, floor, round
* log, ln, log10, exp
1540
1539
2006-10-27T19:47:37Z
Jeroen
19
/* Overview */
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds. To do these calculations we create a new class that sets up a series of threads when called and does iterate through a series of mathematical expressions and then returns to the non parallel world.
The idea is to shield most of the parallel stuff for the user who just wants to implement a function and give him or her an environment in which we can do linear algebra without the need to really think about doing computations on multiple threads.
In a similar fashion like MPI we have a main algorithm through which all the threads execute. However here the parallel instructions are hidden in the overloaded matrix operations of an underlying class that knows how to do basic operations in parallel.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads. In this case MPI calls are replaced with the matrix operations. As DMatrix is aware of the environment it will execute an addition, multiply or solve in parallel and make it appear that every thread did the same operation.
This is how I see the environment would look like
class ParallelLinearAlgebra {
public:
// Constructor
// Setup a series of threads to do parallel math
ParallelLinearAlgebra(unsigned int numprocesses);
// Automatically detect the number of cores we can use for parallel math
ParallelLinearAlgebra();
// Function that needs to be overloaded with the actual parallel code
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
// Function that needs to be called from the normal single execution world
void execute(vector<MatrixHandle> inputs, vector<MatrixHandle>& outputs);
};
To use this class one should overload the function with the parallel code:
class MyParallelCode public: ParallelLinearAlgebra {
public:
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
An example of parallel code could be like this:
void
MyParallelCode::function(vector<DMatrix> inputs, vector<DMatrix>& outputs)
{
DMatrix A(inputs[0]);
DMatrix B(inputs[1]);
DMatrix C(outputs[0]);
C= A*B + 10*B;
}
One could execute a piece of parallel code as following:
// My parallel module
MyParallelCode mycode;
vector<MatrixHandle> inputs(2);
vector<MatrixHandle> outputs(1);
input[0] = matrix1;
input[1] = matrix2;
mycode.execute(inputs,outputs);
MatrixHandle output = outputs[0];
===Memory management===
For the DMatrix class I would use a similar memory management method as used in the matlab classes. Here the object is not directly a handle but not directly an object neither. It is an extended handle that knows the basic properties of the matrix, but can share data with other DMatrices (the datablock idea). This way we can have the algebra in the functions look like real algebra and type like real algebra and only copies are made when it is really necessary. Hence the DMatrix will know whether the data it has is shared or whether it can write the data. If it is shared it will clone when the matrix is altered.
The current SCIRun concept of Handles does not support this directly hence it will be added into this new parallel object.
===Local variables===
One can define local variables in the parallel construct, however one has to be aware that the code is running in parallel and that operations on local doubles are done for each thread.
===Accessing SCIRun from parallel world===
This requires some more thought as code runs in parallel, one cannot access SCIRun elements that run in the single threaded world directly as one would access it n times. Hence the environment will have some clause to see the rank of the process. One could add something like:
if (get_rank() == 0)
{
// Access SCIRun object
...
}
And I assume we should have a basic send and receive setup so one can synchronize variables between threads. Although for most basic linear algebra we would probably not need this.
template<class T>
sync_to_all(T& var, int from_rank);
===Functions to support===
Here is a lsit functions we might want to support in this environment:
====Matrix types====
* 2D dense matrix (a 1x1 matrix can be a scalar)
* 2D sparse matrix
====Functions====
Matrix operations:
* Addition
* Substraction
* Mulitplication
* Inversion
* Transpose
Matrix to Scalar:
* Norm
* Abs
* Maximum
* Minimum
* Mean
Solvers:
* ConjGrad
* BiConjGrad
* GMRES
Operation per matrix element:
* sin, cos, tan, ctg
* asin, acos, atan, actg
* ceil, floor, round
* log, ln, log10, exp
1541
1540
2006-10-27T19:49:26Z
Jeroen
19
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds. To do these calculations we create a new class that sets up a series of threads when called and does iterate through a series of mathematical expressions and then returns to the non parallel world.
The idea is to shield most of the parallel stuff for the user who just wants to implement a function and give him or her an environment in which we can do linear algebra without the need to really think about doing computations on multiple threads.
In a similar fashion like MPI we have a main algorithm through which all the threads execute. However here the parallel instructions are hidden in the overloaded matrix operations of an underlying class that knows how to do basic operations in parallel.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads. In this case MPI calls are replaced with the matrix operations. As DMatrix is aware of the environment it will execute an addition, multiply or solve in parallel and make it appear that every thread did the same operation.
This is how I see the environment would look like
class ParallelLinearAlgebra {
public:
// Constructor
// Setup a series of threads to do parallel math
ParallelLinearAlgebra(unsigned int numprocesses);
// Automatically detect the number of cores we can use for parallel math
ParallelLinearAlgebra();
// Function that needs to be overloaded with the actual parallel code
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
// Function that needs to be called from the normal single execution world
void execute(vector<MatrixHandle> inputs, vector<MatrixHandle>& outputs);
};
To use this class one should overload the function with the parallel code:
class MyParallelCode public: ParallelLinearAlgebra {
public:
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
An example of parallel code could be like this:
void
MyParallelCode::function(vector<DMatrix> inputs, vector<DMatrix>& outputs)
{
DMatrix A(inputs[0]);
DMatrix B(inputs[1]);
DMatrix C(outputs[0]);
C= A*B + 10*B;
}
One could execute a piece of parallel code as following:
// My parallel module
MyParallelCode mycode;
vector<MatrixHandle> inputs(2);
vector<MatrixHandle> outputs(1);
input[0] = matrix1;
input[1] = matrix2;
mycode.execute(inputs,outputs);
MatrixHandle output = outputs[0];
===Memory management===
For the DMatrix class I would use a similar memory management method as used in the matlab classes. Here the object is not directly a handle but not directly an object neither. It is an extended handle that knows the basic properties of the matrix, but can share data with other DMatrices (the datablock idea). This way we can have the algebra in the functions look like real algebra and type like real algebra and only copies are made when it is really necessary. Hence the DMatrix will know whether the data it has is shared or whether it can write the data. If it is shared it will clone when the matrix is altered.
The current SCIRun concept of Handles does not support this directly hence it will be added into this new parallel object.
===Local variables===
One can define local variables in the parallel construct, however one has to be aware that the code is running in parallel and that operations on local doubles are done for each thread.
===Accessing SCIRun from parallel world===
This requires some more thought as code runs in parallel, one cannot access SCIRun elements that run in the single threaded world directly as one would access it n times. Hence the environment will have some clause to see the rank of the process. One could add something like:
if (get_rank() == 0)
{
// Access SCIRun object
...
}
And I assume we should have a basic send and receive setup so one can synchronize variables between threads. Although for most basic linear algebra we would probably not need this.
template<class T>
sync_to_all(T& var, int from_rank);
===Functions to support===
Here is a lsit functions we might want to support in this environment:
====Matrix types====
* 2D dense matrix (a 1x1 matrix can be a scalar)
* 2D sparse matrix
====Functions====
Matrix operations:
* Addition
* Substraction
* Mulitplication
* Inversion
* Transpose
Matrix to Scalar:
* Norm
* Abs
* Maximum
* Minimum
* Mean
Solvers:
* ConjGrad
* BiConjGrad
* GMRES
Operation per matrix element:
* sin, cos, tan, ctg
* asin, acos, atan, actg
* ceil, floor, round
* log, ln, log10, exp
===Modules to rewrite===
In the core we should have modules like LinearAlgebra LinAlgBinary and LinAlgUnary have use this mechanism internally. Similarly we can have modules like Tikhonov use this mechanism.
CIBC:SoftwareDesign:LinearAlgebra
0
1131
1542
1541
2006-10-27T19:50:32Z
Jeroen
19
/* New parallel environment */
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds. To do these calculations we create a new class that sets up a series of threads when called and does iterate through a series of mathematical expressions and then returns to the non parallel world.
The idea is to shield most of the parallel stuff for the user who just wants to implement a function and give him or her an environment in which we can do linear algebra without the need to really think about doing computations on multiple threads.
In a similar fashion like MPI we have a main algorithm through which all the threads execute. However here the parallel instructions are hidden in the overloaded matrix operations of an underlying class that knows how to do basic operations in parallel.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads. In this case MPI calls are replaced with the matrix operations. As DMatrix is aware of the environment it will execute an addition, multiply or solve in parallel and make it appear that every thread did the same operation.
This is how I see the environment would look like
class ParallelLinearAlgebra {
public:
// Constructor
// Setup a series of threads to do parallel math
ParallelLinearAlgebra(unsigned int numprocesses);
// Automatically detect the number of cores we can use for parallel math
ParallelLinearAlgebra();
// Function that needs to be overloaded with the actual parallel code
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
// Function that needs to be called from the normal single execution world
void execute(vector<MatrixHandle> inputs, vector<MatrixHandle>& outputs);
};
To use this class one should overload the function with the parallel code:
class MyParallelCode public: ParallelLinearAlgebra {
public:
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
An example of parallel code could be like this:
void
MyParallelCode::function(vector<DMatrix> inputs, vector<DMatrix>& outputs)
{
DMatrix A(inputs[0]);
DMatrix B(inputs[1]);
DMatrix C;
C= A*B + 10*B;
outputs[0] = C;
}
One could execute a piece of parallel code as following:
// My parallel module
MyParallelCode mycode;
vector<MatrixHandle> inputs(2);
vector<MatrixHandle> outputs(1);
input[0] = matrix1;
input[1] = matrix2;
mycode.execute(inputs,outputs);
MatrixHandle output = outputs[0];
===Memory management===
For the DMatrix class I would use a similar memory management method as used in the matlab classes. Here the object is not directly a handle but not directly an object neither. It is an extended handle that knows the basic properties of the matrix, but can share data with other DMatrices (the datablock idea). This way we can have the algebra in the functions look like real algebra and type like real algebra and only copies are made when it is really necessary. Hence the DMatrix will know whether the data it has is shared or whether it can write the data. If it is shared it will clone when the matrix is altered.
The current SCIRun concept of Handles does not support this directly hence it will be added into this new parallel object.
===Local variables===
One can define local variables in the parallel construct, however one has to be aware that the code is running in parallel and that operations on local doubles are done for each thread.
===Accessing SCIRun from parallel world===
This requires some more thought as code runs in parallel, one cannot access SCIRun elements that run in the single threaded world directly as one would access it n times. Hence the environment will have some clause to see the rank of the process. One could add something like:
if (get_rank() == 0)
{
// Access SCIRun object
...
}
And I assume we should have a basic send and receive setup so one can synchronize variables between threads. Although for most basic linear algebra we would probably not need this.
template<class T>
sync_to_all(T& var, int from_rank);
===Functions to support===
Here is a lsit functions we might want to support in this environment:
====Matrix types====
* 2D dense matrix (a 1x1 matrix can be a scalar)
* 2D sparse matrix
====Functions====
Matrix operations:
* Addition
* Substraction
* Mulitplication
* Inversion
* Transpose
Matrix to Scalar:
* Norm
* Abs
* Maximum
* Minimum
* Mean
Solvers:
* ConjGrad
* BiConjGrad
* GMRES
Operation per matrix element:
* sin, cos, tan, ctg
* asin, acos, atan, actg
* ceil, floor, round
* log, ln, log10, exp
===Modules to rewrite===
In the core we should have modules like LinearAlgebra LinAlgBinary and LinAlgUnary have use this mechanism internally. Similarly we can have modules like Tikhonov use this mechanism.
3270
1542
2006-10-27T19:51:09Z
Jeroen
19
/* New parallel environment */
wikitext
text/x-wiki
== Linear Algebra ==
===Overview===
The idea is to create a new computational environment not unlike MPI to do matrix operations in parallel using CBLAS underneath for optimal computation speeds. To do these calculations we create a new class that sets up a series of threads when called and does iterate through a series of mathematical expressions and then returns to the non parallel world.
The idea is to shield most of the parallel stuff for the user who just wants to implement a function and give him or her an environment in which we can do linear algebra without the need to really think about doing computations on multiple threads.
In a similar fashion like MPI we have a main algorithm through which all the threads execute. However here the parallel instructions are hidden in the overloaded matrix operations of an underlying class that knows how to do basic operations in parallel.
===New matrix class===
The current class for matrices called DenseMatrix and ColumnMatrix are far from optimized and contain all kinds of leftovers of previous developments and do not contain mechanisms to do math in parallel in an optimal way. Hence the idea is to introduce a new class:
class DMatrix {
public:
DMatrix(MatrixHandle& mat);
...
}
This class will internally keep a handle to the Matrix so it can reuse its memory management system. The name '''DMatrix''' stands for 'Matrix of Doubles', I envison at some point we want to have a 'CDMatrix' as well for 'Matrix of complex doubles' etc.
This class however will have the option to attach a parallel environment specifying the number of threads that are available for computation and hence will know about parallel computing.
By specifying a new matrix class, we can restrict the class to having only two internal representations: sparse or dense, and not the four we have currently in SCIRun. This will reduce the amount of additions, multiplies etc, we need to write. For two representation there are only four combinations per operator, for the four matrix types we have now this expands to sixteen, which requires far more implementation.
===New parallel environment===
To do math I envison we use a class that basically streamlines parallel computation. As launching threads is slow (depending on OS, but for example on OSX it is extremely slow) it would be nice to setup threads first and then do a few matrix operations in series in the same environment. This will speed up computation.
What I am envisioning is a construct like what is used in MPI, where one writes a segment of code that is executed in parallel and the code that is being executed is the same on all threads. In this case MPI calls are replaced with the matrix operations. As DMatrix is aware of the environment it will execute an addition, multiply or solve in parallel and make it appear that every thread did the same operation.
This is how I see the environment would look like
class ParallelLinearAlgebra {
public:
// Constructor
// Setup a series of threads to do parallel math
ParallelLinearAlgebra(unsigned int numprocesses);
// Automatically detect the number of cores we can use for parallel math
ParallelLinearAlgebra();
// Function that needs to be overloaded with the actual parallel code
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
// Function that needs to be called from the normal single execution world
void execute(vector<MatrixHandle> inputs, vector<MatrixHandle>& outputs);
};
To use this class one should overload the function with the parallel code:
class MyParallelCode public: ParallelLinearAlgebra {
public:
virtual void function(vector<DMatrix> inputs, vector<DMatrix>& outputs);
};
An example of parallel code could be like this:
void
MyParallelCode::function(vector<DMatrix> inputs, vector<DMatrix>& outputs)
{
DMatrix A, B, C;
A = inputs[0];
B = inputs[1];
C= A*B + 10*B;
outputs[0] = C;
}
One could execute a piece of parallel code as following:
// My parallel module
MyParallelCode mycode;
vector<MatrixHandle> inputs(2);
vector<MatrixHandle> outputs(1);
input[0] = matrix1;
input[1] = matrix2;
mycode.execute(inputs,outputs);
MatrixHandle output = outputs[0];
===Memory management===
For the DMatrix class I would use a similar memory management method as used in the matlab classes. Here the object is not directly a handle but not directly an object neither. It is an extended handle that knows the basic properties of the matrix, but can share data with other DMatrices (the datablock idea). This way we can have the algebra in the functions look like real algebra and type like real algebra and only copies are made when it is really necessary. Hence the DMatrix will know whether the data it has is shared or whether it can write the data. If it is shared it will clone when the matrix is altered.
The current SCIRun concept of Handles does not support this directly hence it will be added into this new parallel object.
===Local variables===
One can define local variables in the parallel construct, however one has to be aware that the code is running in parallel and that operations on local doubles are done for each thread.
===Accessing SCIRun from parallel world===
This requires some more thought as code runs in parallel, one cannot access SCIRun elements that run in the single threaded world directly as one would access it n times. Hence the environment will have some clause to see the rank of the process. One could add something like:
if (get_rank() == 0)
{
// Access SCIRun object
...
}
And I assume we should have a basic send and receive setup so one can synchronize variables between threads. Although for most basic linear algebra we would probably not need this.
template<class T>
sync_to_all(T& var, int from_rank);
===Functions to support===
Here is a lsit functions we might want to support in this environment:
====Matrix types====
* 2D dense matrix (a 1x1 matrix can be a scalar)
* 2D sparse matrix
====Functions====
Matrix operations:
* Addition
* Substraction
* Mulitplication
* Inversion
* Transpose
Matrix to Scalar:
* Norm
* Abs
* Maximum
* Minimum
* Mean
Solvers:
* ConjGrad
* BiConjGrad
* GMRES
Operation per matrix element:
* sin, cos, tan, ctg
* asin, acos, atan, actg
* ceil, floor, round
* log, ln, log10, exp
===Modules to rewrite===
In the core we should have modules like LinearAlgebra LinAlgBinary and LinAlgUnary have use this mechanism internally. Similarly we can have modules like Tikhonov use this mechanism.
CIBC:Documentation:SCIRun:Reference:BioPSE
0
1132
3271
2006-10-31T00:03:46Z
Blackham
44
wikitext
text/x-wiki
=='''BioPSE Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:ImportDenseMatrixFromRaw|ImportDenseMatrixFromRaw]]
:The RawtoDenseMatrix mdoule reads CVRTI potentials, with output as a DenseMatrix.
==='''Forward'''===
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:ApplyFEMCurrentSource|ApplyFEMCurrentSource]]
:The ApplyFEMCurrentSource module builds the right-hand side (ColumnMatrix) to reflect monopolar and dipolar current sources for finite-element based bioelectric field problems.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:ApplyFEMElectrodeSource|ApplyFEMElectrodeSource]]
:Due to course current dipoles, the ApplyFEMElectrodeSource module changes and recreates the right-hand side (RHS) for the Finite Elements discretization approach.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:ApplyFEMVoltageSource|ApplyFEMVoltageSource]]
:The module changes/creates the right-hand side (RHS) and forward matrices for voltgage (Dirichlet) boundary conditions.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:BuildBEMSrcToInfTransferMatrix|BuildBEMSrcToInfTransferMatrix]]
:FILL THIS IN
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:BuildBEMatrix|BuildBEMatrix]]
:The module solves a discretized model of Laplace's equation in a 3D volume conductor model using "surface method", given a particular type of boundary condition.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:BuildEITMatrix|BuildEITMatrix]]
:The module solves a discretized model of Laplace's equation in a 3D volume conductor model using "surface method", given a particular type of boundary condition.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:BuildFEMatrix|BuildFEMatrix]]
:The module sets up a mesh with conductivity tensors for bioelectric field problems.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:CalculateCurrentDensity|CalculateCurrentDensity]]
:Compute the current density vector field
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:ConvertFieldDataFromIndicesToTensors|ConvertFieldDataFromIndicesToTensors]]
:Change a Field of ints, into a Field of Tensors.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:ConvertFieldDataFromTensorsToIndices|ConvertFieldDataFromTensorsToIndices]]
:Change a Field of ints, into a Field of Tensors.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:CreateAnisoSphereParameters|CreateAnisoSphereParameters]]
:CreateAnisoSphereParameters implements a four-layer anisotropic spherical volume conductor.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:CreateDiscreteAnisoSpheres|CreateDiscreteAnisoSpheres]]
:Scale the geometry of a sphere to a requested size and assign a conductivity tensor to each cell.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:CreateElectrodeParameterMatrices|CreateElectrodeParameterMatrices]]
:?
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:CreateTrigCurrentPattern|CreateTrigCurrentPattern]]
:?
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:GetActivationTimes|GetActivationTimes]]
:Accepts a matrix of potentials on a surface and calculates the activation times by selecting the lowest (most negative) derivative.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:InsertElectrodes|InsertElectrodes]]
:Insert electrodes into a finite element mesh.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:InsertVoltageSource|InsertVoltageSource]]
:Insert electrodes into a finite element mesh.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:IntegrateCurrent|IntegrateCurrent]]
:Compute the current across a surface.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:SetEITGround|SetEITGround]]
:?
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:SetWireElectrodePotential|SetWireElectrodePotential]]
:Configure an electrode.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:SetWireElectrodeProperties|SetWireElectrodeProperties]]
:Configure an electrode.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:SimulateDipoleInAnisoSpheresAnalytically|SimulateDipoleInAnisoSpheresAnalytically]]
:Due to a specified dipole, the potential on the outer sphere of a four layer spherical volume conductor is computed.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:SimulateDipoleInSphereAnalytically|SimulateDipoleInSphereAnalytically]]
:Due to the specified dipoles, the SimulateDipoleInSphereAnalytically module fills the sphere field with potentials values.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:SimulateEITAnalytically|SimulateEITAnalytically]]
:?
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:SimulateForwardMagneticField|SimulateForwardMagneticField]]
:Calculation of magnetic field at given detector points due to specificed dipoles.
==='''Inverse'''===
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:BuildSurfaceLaplacianMatrix|BuildSurfaceLaplacianMatrix]]
:Transform attributes
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:OptimizeConductivities|OptimizeConductivities]]
:Summary not available yet.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:OptimizeDipole|OptimizeDipole]]
:Summary not available yet.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTSVD|SolveInverseProblemWithTSVD]]
:Solve inverse problem using Truncated SVD.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTikhonov|SolveInverseProblemWithTikhonov]]
:This module applies SolveInverseProblemWithTikhonov regularization to an existing forward model, with flexible control of regularization type and parameters. Currently, the module solves the inverse problem in a single time-instant. This module requires a forward model matrix, geometries for the associated surfaces, and some remote boundary conditions, i.e., torso or head surface potentials.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTikhonovSVD|SolveInverseProblemWithTikhonovSVD]]
:Solve inverse problem using Tikhonov regularization by using SVD.
==='''LeadField'''===
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:BuildElemLeadField|BuildElemLeadField]]
:Summary not available yet.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:BuildLeadFieldSourcesFromElectricCurrentMatrix|BuildLeadFieldSourcesFromElectricCurrentMatrix]]
:Assign data to a field.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:CalculateMisfitField|CalculateMisfitField]]
:Summary not available yet.
==='''Modeling'''===
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:AbsorbSegFieldIslands|AbsorbSegFieldIslands]]
:Create and process a segmented volume: erosion/dilation/open/close/absorb.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:ConvertSegFieldToLatVol|ConvertSegFieldToLatVol]]
:Create a LatVolField from a SegLatVolField -- choose a quantity to store as the data.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:ConvertSegFieldToSepSurfs|ConvertSegFieldToSepSurfs]]
:Create Separating surfaces from a SegLatVolField.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:ConvertSepSurfToQuadSurf|ConvertSepSurfToQuadSurf]]
:Change the Separating Surface into a QuadSurf.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:GetSingleSurfaceFromSepSurfs|GetSingleSurfaceFromSepSurfs]]
:Extract a single QuadSurf (one connected component) from a Separating Surface.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:SetConductivities|SetConductivities]]
:Change the conductivity tensors in a field.
==='''NeuroFEM'''===
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:InterfaceWithNeuroFEMForward|InterfaceWithNeuroFEMForward]]
:Invoke the NeuroFEM ipm program to solve the forward problem for the inputs.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:InterfaceWithNeuroFEMInverse|InterfaceWithNeuroFEMInverse]]
:Invoke the NeuroFEM ipm program to solve the input problem for the inputs.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:ShowAndEditDipoles|ShowAndEditDipoles]]
:Summary not available yet.
;[[CIBC:Documentation:SCIRun:Reference:BioPSE:ViewLeadSignals|ViewLeadSignals]]
:The ViewLeadSignals module graphs a Matrix that has rows of potentials.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:BioPSE:ImportDenseMatrixFromRaw
0
1133
3272
2006-10-31T00:04:20Z
Blackham
44
wikitext
text/x-wiki
=='''ImportDenseMatrixFromRaw'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: DataIO
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The RawtoDenseMatrix mdoule reads CVRTI potentials, with output as a DenseMatrix.
====Detailed Description====
The input data comes from CVRTI (Cardiovascular Research and Training Institute) formatted .pots file. The output is a DenseMatrix, arranged with each lead in the rows, and each column as a time instance. The UI sets the start, end, and units for the time steps.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:ApplyFEMCurrentSource
0
1134
3273
2006-10-31T00:05:02Z
Blackham
44
wikitext
text/x-wiki
=='''ApplyFEMCurrentSource'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ApplyFEMCurrentSource module builds the right-hand side (ColumnMatrix) to reflect monopolar and dipolar current sources for finite-element based bioelectric field problems.
====Detailed Description====
Version Date: March 2001
Version: 1.0
If an input RHS ColumnMatrix is present, this module adds the contributions for the current sources into that matrix (i.e. multiple ApplyFEMCurrentSource modules can be cascaded together). If no RHS is present, this module will generate one. The RHS ColumnMatrix will be of length n, where n is the number of nodes in the finite element mesh.
We assume the mesh will be stored in a TetVolMesh, a HexVolMesh, or a TriSurfMesh.
There are two types of current sources supported by this module: dipoles, and sources-and-sinks. With dipoles, the user must pass in a PointCloudFieldd<Vector> into the Sources input port. The position of each PointCloud node corresponds to the location of the dipole, and the corresponding Vector corresponds to the moment of the dipole. If the user wishes to use dipolar sources, they must pass in a PointCloudField<Vector> AND they must select "dipole" for the Source Model on the UI window. In contrast to the dipole model, the sources-and-sinks option has several sub-models. To activate any of these, the user must select the "sources and sinks" option from the UI. The values that are used for sources-and-sinks are a combination of: the source and sink indices entered in the UI; a PointCloudField<double> passed into the Source port; and a MappingMatrix. Here is the logic for how those values are used: 1) if we don't have a Mapping matrix, we use the source/sink indices from the UI as node indices from the volume mesh between which one unit of current is passed; 2) if we have a Mapping matrix, but we don't have a Source field, then the source/sink indices refer to the PointCloud and we use the Mapping matrix to get their corresponding volume node indices, and we then pass one unit of current between them; 3) if we have a Mapping matrix AND a Source field, then ignore the source/sink indices from the UI, and assume that the Mapping matrix maps the PointCloud nodes to Volume mesh nodes and that the data values (doubles) from the PointCloud indicate the strength (current density) for each point source.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:ApplyFEMElectrodeSource
0
1135
3274
2006-10-31T00:05:25Z
Blackham
44
wikitext
text/x-wiki
=='''ApplyFEMElectrodeSource'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Due to course current dipoles, the ApplyFEMElectrodeSource module changes and recreates the right-hand side (RHS) for the Finite Elements discretization approach.
====Detailed Description====
Version Date: March 2001
Version: 1.0
The ApplyFEMElectrodeSource module creates and fills a new ColumnMatrix, according to mesh and dipole parameters in situations where it does not locate a ColumnMatrix on its input that contains an RHS to modify, or when the module finds a ColumnMatrix of a different size than the number of nodes in the mesh.
We assume the mesh to be a TetVolField(int) type, containing indices to the conductivity tensor lookup table. The documentation for the MODULE REFERENCE module provides further documentation about this mesh.
Dipoles are represented as nodes in TetVolMesh. The corresponding value are vectors representing dipole moments. Thus, the module expects dipoles as TetVolField(Vector) field
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:ApplyFEMVoltageSource
0
1136
3275
2006-10-31T00:05:43Z
Blackham
44
wikitext
text/x-wiki
=='''ApplyFEMVoltageSource'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The module changes/creates the right-hand side (RHS) and forward matrices for voltgage (Dirichlet) boundary conditions.
====Detailed Description====
Version Date: March 2001
Version: 1.0
The module has the following behaviour:
The ApplyFEMVoltageSource module creates and fills a new ColumnMatrix, according to mesh and dipole parameters in situations where it does not locate a ColumnMatrix on its input that contains an RHS to modify, or when the module finds a ColumnMatrix of a different size than the number of nodes in the mesh.
We assume the mesh to be a TetVolField(int) type, containing indices to the conductivity tensor lookup table. The documentation for the MODULE REFERENCE module provides further information about this mesh.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:BuildBEMSrcToInfTransferMatrix
0
1137
3276
2006-10-31T00:06:13Z
Blackham
44
wikitext
text/x-wiki
=='''BuildBEMSrcToInfTransferMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): Andrew Keely
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
FILL THIS IN
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:BuildBEMatrix
0
1138
3277
2006-10-31T00:08:23Z
Blackham
44
wikitext
text/x-wiki
=='''BuildBEMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): Saeed Babaeizadeh , Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The module solves a discretized model of Laplace's equation in a 3D volume conductor model using "surface method", given a particular type of boundary condition.
====Detailed Description====
The specific problem the authors had in mind was the forward problem of electrocardiography which consists of calculating, for a given time instant, the potential distribution generated at the surface of a specified volume conductor due the presence of the selected equivalent sources on a surface inside the conductor (The module should work for other problems which fit the same physical description, but has only been tested for forward electrocardiography.) In surface methods, the different volume conductor regions are assumed to have a constant and isotropic conductivity, and only the interfaces between the different regions are triangulated and represented in the numerical model. This module uses the "Transfer-Coefficient Approach" or "solid-angle method" developed by Barr et al. [i], as extended to include torso inhomogeneities in [ii] and with an improved algorithm for computing the solid angles [iii].
[i] R.C. Barr, M. Ramsey, and M.S. Spach, "Relating epicardial to body surface potential distribution by means of transfer coefficients based on geometry measurement," IEEE Trans. Biomed. Eng., vol. BME-24, pp. 1-11, 1977.
[ii] P.C. Stanley, T.C. Pilkington, and M.N. Morrow., "The effects of thoracic inhomogeneities on the relationship between epicardial and torso potentials," IEEE Transactions on Biomedical Engineering, BME-33, pp.273-284, 1986.
[iii] J.A. De Munck, "Linear discretization of the volume conductor boundary integral equation using analytically integrated elements," IEEE Trans. Biomed. Eng., vol. 39, no. 9, 1992.
This module requires the triangulated surfaces of all the objects as inputs and creates the forward solution matrix as output. The geometric relationships of the surfaces are defined as described below, as are the boundary conditions to apply.
The number of input fields is two or greater and can be unlimited but one of them must be defined as the "source surface" where the Dirichlet boundary condition is given and another one defined as the "measurement surface" where the quantity of interest is to be calculated. To do this we use a "SetProperty" module for each of these two designated surfaces with `Property'= `in/out' and `Value' = `in' for the "source surface" and `Value' = `out' for the "measurement surface". Insulating boundary conditions (Neumann boundary conditions) are assumed on the outermost surface.
To define the geometric relationships of the various fields, for each of the input fields use a "SetProperty" module with `Property'=`Inside Conductivity' and `Value' = the numerical value of the internal conductivity of the corresponding homogeneous region.
The output is the forward solution matrix. This matrix can be multiplied to a Dirichlet boundary condition on the "source surface" to result in the boundary values on the "measurement surface". This matrix is needed as an input for the modules "TikhonovSVD", "Tikhonov" and "TSVD".
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:BuildEITMatrix
0
1139
3278
2006-10-31T00:08:43Z
Blackham
44
wikitext
text/x-wiki
=='''BuildEITMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): Saeed Babaeizadeh
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The module solves a discretized model of Laplace's equation in a 3D volume conductor model using "surface method", given a particular type of boundary condition.
====Detailed Description====
The specific problem the authors had in mind was the forward problem of Electrical Impedance Tomography (EIT) which consists of calculating, for a given time instant, the potential distribution generated at the surface of a specified volume conductor due the presence of some current sources on the same surface (the module should work for other problems which fit the same physical description, but has only been tested for forward EIT.) In surface methods, the different volume conductor regions are assumed to have a constant and isotropic conductivity, and only the interfaces between the different regions are triangulated and represented in the numerical model. This module is based on a method developed in [i] and uses the "Transfer-Coefficient Approach" or "solid-angle method" developed by Barr et al. [ii], as extended to include torso inhomogeneities in [iii] and with an improved algorithm for computing the solid angles [iv].
[i] S. Babaeizadeh, D. H. Brooks, and D. Isaacson, "A 3-D Boundary Element Solution to the Forward Problem of Electrical Impedance Tomography, " Proceedings of the 26th Annual International Conference of the IEEE EMBS, pp. 960-963, 2004.
[ii] R.C. Barr, M. Ramsey, and M.S. Spach, "Relating epicardial to body surface potential distribution by means of transfer coefficients based on geometry measurement," IEEE Trans. Biomed. Eng., vol. BME-24, pp. 1-11, 1977.
[iii] P.C. Stanley, T.C. Pilkington, and M.N. Morrow., "The effects of thoracic inhomogeneities on the relationship between epicardial and torso potentials," IEEE Transactions on Biomedical Engineering, BME-33, pp.273-284, 1986.
[iv] J.A. De Munck, "Linear discretization of the volume conductor boundary integral equation using analytically integrated elements," IEEE Trans. Biomed. Eng., vol. 39, no. 9, 1992.
This module requires the triangulated surfaces of all the objects as inputs and creates the forward solution matrix as output. The geometric relationships of the surfaces are defined as described below, as are the boundary conditions to apply.
The number of input fields is one or two. The outermost surface is the surface on which Neumann boundary condition is given where the quantity of interest is the Dirichlet boundary condition which is to be calculated.
To define the geometric relationships of the various fields, for each of the input fields use a "SetProperty" module with `Property'=`Inside Conductivity' and `Value' = the numerical value of the internal conductivity of the corresponding homogeneous region.
The output is the forward solution matrix. This matrix can be multiplied to a Neumann boundary condition on the outermost surface; to result in the Dirichlet boundary condition on the same surface.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:BuildFEMatrix
0
1140
3279
2006-10-31T00:09:03Z
Blackham
44
wikitext
text/x-wiki
=='''BuildFEMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): Alexei Samsonov, Ruth Nicholson Klepfer
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The module sets up a mesh with conductivity tensors for bioelectric field problems.
====Detailed Description====
Version Date: March 2001
Version: 1.0
The module provides basic means for construction of the FE matrix with linear elements for bioelectric field problems (discretization of Poisson equation for volume conductor problem). The input field should be a Field (TriSurf, HexVol, or TetVol) of either Tensors or integers, with the data values defined at the elements (constant over each element). If it is a Field of Tensors, each Tensor indicates the local conductivity tensor at that location in the mesh. If it is a Field of Integers, then each integer is an index into a lookup table, where the table contains a set of conductivity tensors. When using the index/table approach, a "conductivity_table" Property must be stored with the Field, where the conductivity table is of type pair<string,Tensor> (i.e. the individual material types can have descriptive names). The BioPSE::Modeling::ModifyConductivities module can be used to generate (as well as to modify) the conductivity_table property. The BioPSE::Forward::IndicesToTensors and BioPSE::Forward::TensorsToIndices modules are useful for converting between the index/table (Field of integer with a conductivity_table Propert) and the full Tensor (Field of Tensors) representations.
BioPSE::Algorithm::BuildFEMatrix::build_FEMatrix() performs the actual computation of the matrix. Other modules or any other code may use the algorithm for other kinds of problems involving discretization of the Poisson equation by linear finite elements.
The discretization of the Poisson equation on the supplied mesh is performed by linear finite elements using Galerkin approach.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:CalculateCurrentDensity
0
1141
3280
2006-10-31T00:09:22Z
Blackham
44
wikitext
text/x-wiki
=='''CalculateCurrentDensity'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Compute the current density vector field
====Detailed Description====
Version Date: January 2003
Version: 1.0
CalculateCurrentDensity calculate the current density vector field. Required inputs are the electric field and mesh with conductivities. Technical note: The current density vector field J is the product of sigma and -del V. The minus sign is added in CalculateCurrentDensity, so the electric field input should be positive (which is the unmodified output of the MODULE REFERENCE module).
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:ConvertFieldDataFromIndicesToTensors
0
1142
3281
2006-10-31T00:09:44Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertFieldDataFromIndicesToTensors'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Change a Field of ints, into a Field of Tensors.
====Detailed Description====
IndiciesToTensors is used to convert a Field of ints, where the ints are indices into a conductivity_table property (table is a vector of pairs, where each pair contains a string (the name of the material region) and a Tensor), into a Field of Tensors.
This module is templatized -- it should work for any Mesh type, and any data_at location. Presently it only work for the conductivity_table -- eventually it would be nice to instantiate any data type that is mapped through a lookup table.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:ConvertFieldDataFromTensorsToIndices
0
1143
3282
2006-10-31T00:10:03Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertFieldDataFromTensorsToIndices'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Change a Field of ints, into a Field of Tensors.
====Detailed Description====
ConvertFieldDataFromTensorsToIndices is used to convert a Field of Tensors, where the ints are indices into a conductivity_table property (table is a vector of pairs, where each pair contains a string (the name of the material region) and a Tensor), into a Field of Tensors.
This module is templatized -- it should work for any Mesh type, and any data_at location. Presently it only work for the conductivity_table -- eventually it would be nice to instantiate any data type that is mapped through a lookup table.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:CreateAnisoSphereParameters
0
1144
3283
2006-10-31T00:10:27Z
Blackham
44
wikitext
text/x-wiki
=='''CreateAnisoSphereParameters'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s):
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
CreateAnisoSphereParameters implements a four-layer anisotropic spherical volume conductor.
====Detailed Description====
CreateAnisoSphereParameters implements the geometry and composition of a four-layer anisotropic spherical volume conductor, resembling the human head. See CROSS REFERENCE. CreateAnisoSphereParameters provides data to other modules. For instance, due to a dipole in the innermost spere, MODULE REFERENCE and MODULE REFERENCE are used to compute the potential distribution on the outer sphere of the volume conductor.
CreateAnisoSphereParameters provides the following parameters, which can be adjusted via CreateAnisoSphereParameters's GUI:
<unorderedlist> Radii for scalp, skull, cerebrospinal fluid, and brain
Radial and tangential conductivities for scalp, skull, cerebrospinal fluid, and brain
Electrode positions where the potential distribution should be computed (on the surface of the outermost sphere)
</unorderedlist> Network "net.das" demonstrates the use of CreateAnisoSphereParameters in a network.
[[Image:Reference_BioPSE_../Modules/Forward/doc/sphere_model.gif|Schematic Representation of the Spherical Volume Conductor.]]
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:CreateDiscreteAnisoSpheres
0
1145
3284
2006-10-31T00:10:49Z
Blackham
44
wikitext
text/x-wiki
=='''CreateDiscreteAnisoSpheres'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): Sascha Moehrs
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Scale the geometry of a sphere to a requested size and assign a conductivity tensor to each cell.
====Detailed Description====
The module creates a discrete version of a four-layer anisotropic spherical volume conductor, resembling the human head. The volume conductor consists of four concentric spheres. Each sphere can have different radial and tangential conductivities. The input mesh, which is a discrete unit sphere, is scaled to the outer radius of the model. The radii of all four layers should be provided via the input port 'SphereRadii'. Moreover, a conductivity tensor is assigned to each cell (i.e. the cell is associated with one of the four layers based on the distance of the cell to the sphere center). Then, based on the radial and tangential conductitities at port 'AnisoConductivities', a conductivity tensor is computed for that cell.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:CreateElectrodeParameterMatrices
0
1146
3285
2006-10-31T00:11:06Z
Blackham
44
wikitext
text/x-wiki
=='''CreateElectrodeParameterMatrices'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): Lorena Kreda
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
?
====Detailed Description====
>
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:CreateTrigCurrentPattern
0
1147
3286
2006-10-31T00:11:37Z
Blackham
44
wikitext
text/x-wiki
=='''CreateTrigCurrentPattern'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): ?
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
?
====Detailed Description====
?
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:GetActivationTimes
0
1148
3287
2006-10-31T00:11:54Z
Blackham
44
wikitext
text/x-wiki
=='''GetActivationTimes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): Andrew Keely
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Accepts a matrix of potentials on a surface and calculates the activation times by selecting the lowest (most negative) derivative.
====Detailed Description====
Version Date: May 1999
Version: 1.0
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:InsertElectrodes
0
1149
3288
2006-10-31T00:12:15Z
Blackham
44
wikitext
text/x-wiki
=='''InsertElectrodes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Insert electrodes into a finite element mesh.
====Detailed Description====
Insert electrodes into a finite element mesh.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:InsertVoltageSource
0
1150
3289
2006-10-31T00:12:34Z
Blackham
44
wikitext
text/x-wiki
=='''InsertVoltageSource'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Insert electrodes into a finite element mesh.
====Detailed Description====
Insert electrodes into a finite element mesh.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:IntegrateCurrent
0
1151
3290
2006-10-31T00:12:53Z
Blackham
44
wikitext
text/x-wiki
=='''IntegrateCurrent'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Compute the current across a surface.
====Detailed Description====
Version Date: January 2003
Version: 1.0
IntegrateCurrent calculates current flow across a surface. Required inputs are the electric field, mesh with conductivities, and a surface enclosing the current source(s).
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:SetEITGround
0
1152
3291
2006-10-31T00:13:15Z
Blackham
44
wikitext
text/x-wiki
=='''SetEITGround'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): ?
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
?
====Detailed Description====
?
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:SetWireElectrodePotential
0
1153
3292
2006-10-31T00:13:34Z
Blackham
44
wikitext
text/x-wiki
=='''SetWireElectrodePotential'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Configure an electrode.
====Detailed Description====
Configure an electrode.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:SetWireElectrodeProperties
0
1154
3293
2006-10-31T00:13:58Z
Blackham
44
wikitext
text/x-wiki
=='''SetWireElectrodeProperties'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Configure an electrode.
====Detailed Description====
Configure an electrode.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:SimulateDipoleInAnisoSpheresAnalytically
0
1155
3294
2006-10-31T00:14:20Z
Blackham
44
wikitext
text/x-wiki
=='''SimulateDipoleInAnisoSpheresAnalytically'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): Sascha Moehrs
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Due to a specified dipole, the potential on the outer sphere of a four layer spherical volume conductor is computed.
====Detailed Description====
The potentials on the outer sphere are calculated analytically at the electrode positions. The spherical volume consists of four layers (skalp, skull, cerebrospinal fluid, brain). Every layer can have different radial and tangential conductivities. The dipole has to be in the innermost sphere.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:SimulateDipoleInSphereAnalytically
0
1156
3295
2006-10-31T00:14:37Z
Blackham
44
wikitext
text/x-wiki
=='''SimulateDipoleInSphereAnalytically'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): David Weinstein, Alexei Samsonov
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Due to the specified dipoles, the SimulateDipoleInSphereAnalytically module fills the sphere field with potentials values.
====Detailed Description====
Version Date: March 2001
Version: 1.1
The current version of the module provides analytical calculation of potentials on the surface of the supplied sphere. We assume that the sphere has uniform conductivity equal to 1. The center of the sphere is the center of the bounding box, and the radius is half of the maximum dimension of the box.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:SimulateEITAnalytically
0
1157
3296
2006-10-31T00:14:56Z
Blackham
44
wikitext
text/x-wiki
=='''SimulateEITAnalytically'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): ?
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
?
====Detailed Description====
?
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:SimulateForwardMagneticField
0
1158
3297
2006-10-31T00:15:17Z
Blackham
44
wikitext
text/x-wiki
=='''SimulateForwardMagneticField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Forward
:Author(s): Robert Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Calculation of magnetic field at given detector points due to specificed dipoles.
====Detailed Description====
The modules calculates the magnetic field due to given dipoles at specified detector positions based on the Biot-Savart law.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:BuildSurfaceLaplacianMatrix
0
1159
3298
2006-10-31T00:15:43Z
Blackham
44
wikitext
text/x-wiki
=='''BuildSurfaceLaplacianMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Inverse
:Author(s): Yesim Serinagaoglu
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Transform attributes
====Detailed Description====
Transform attributes
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:OptimizeConductivities
0
1160
3299
2006-10-31T00:16:08Z
Blackham
44
wikitext
text/x-wiki
=='''OptimizeConductivities'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Inverse
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Summary not available yet.
====Detailed Description====
Version Date: May 2000
Version: 1.0
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:OptimizeDipole
0
1161
3300
2006-10-31T00:16:23Z
Blackham
44
wikitext
text/x-wiki
=='''OptimizeDipole'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Inverse
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Summary not available yet.
====Detailed Description====
Version Date: May 1999
Version: 1.0
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTSVD
0
1162
3301
2006-10-31T00:17:15Z
Blackham
44
wikitext
text/x-wiki
=='''SolveInverseProblemWithTSVD'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Inverse
:Author(s): Alireza Ghodrtai
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Solve inverse problem using Truncated SVD.
====Detailed Description====
Solve inverse problem using Truncated SVD.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTikhonov
0
1163
3302
2006-10-31T00:17:37Z
Blackham
44
wikitext
text/x-wiki
=='''SolveInverseProblemWithTikhonov'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Inverse
:Author(s): Yesim Serinagaoglu
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module applies SolveInverseProblemWithTikhonov regularization to an existing forward model, with flexible control of regularization type and parameters. Currently, the module solves the inverse problem in a single time-instant. This module requires a forward model matrix, geometries for the associated surfaces, and some remote boundary conditions, i.e., torso or head surface potentials.
====Detailed Description====
The SolveInverseProblemWithTikhonov module has three inputs, two outputs, and a user interface (UI) for selecting the regularization parameter.
Forward problem matrix, A: This matrix could be created using the MODULE REFERENCE module, or created elsewhere and saved as SCIRun matrix format, which loads via the MODULE REFERENCE module.
A Regularization matrix will contain the transform that constrains the regularized inverse solution. This is typically the output of the MODULE REFERENCE module, but as in the Forward matrix, can be created externally and loaded via the MODULE REFERENCE module. If nothing is connected to this input, the identity matrix is used as default.
The Neumann Boundary conditions, y, are values of potential on the outer boundary of the geometry, typically the body surface or head surface potentials. This is the "attributes" part of a field data type.
The MODULE REFERENCE module can be used to extract the vector of attributes (i.e., the potentials) from the original field data.
Output 1 from the left is a vector of potentials without any geometry information. This vector can be combined with the appropriate geometry file using the ManageFieldData module to create a field data format.
The UI of the SolveInverseProblemWithTikhonov module selects a method to choose lambda. Thus far, we have implemented three options: 1)enter a single value: the user can type any value in the UI and the solution is implemented for that lambda value only, 2) choose from a slider: the user can select a value by moving the slider (the range of the slider and the increments are pre-defined inside the code), and 3) determine the value using the L-curve method. The range of regularization parameters used for the slider and to obtain the L-curve is user defined.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTikhonovSVD
0
1164
3303
2006-10-31T00:17:52Z
Blackham
44
wikitext
text/x-wiki
=='''SolveInverseProblemWithTikhonovSVD'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Inverse
:Author(s): Alireza Ghodrati
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Solve inverse problem using Tikhonov regularization by using SVD.
====Detailed Description====
Solve inverse problem using Tikhonov regularization by using SVD.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:BuildElemLeadField
0
1165
3304
2006-10-31T00:18:13Z
Blackham
44
wikitext
text/x-wiki
=='''BuildElemLeadField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: LeadField
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Summary not available yet.
====Detailed Description====
Version Date: September 1999
Version: 1.0
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:BuildLeadFieldSourcesFromElectricCurrentMatrix
0
1166
3305
2006-10-31T00:19:12Z
Blackham
44
wikitext
text/x-wiki
=='''BuildLeadFieldSourcesFromElectricCurrentMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: LeadField
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Assign data to a field.
====Detailed Description====
Version Date: June 2001
Version: 1.0
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:CalculateMisfitField
0
1167
3306
2006-10-31T00:19:33Z
Blackham
44
wikitext
text/x-wiki
=='''CalculateMisfitField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: LeadField
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Summary not available yet.
====Detailed Description====
Version Date: September 1999
Version: 1.0
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:AbsorbSegFieldIslands
0
1168
3307
2006-10-31T00:19:56Z
Blackham
44
wikitext
text/x-wiki
=='''AbsorbSegFieldIslands'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Modeling
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Create and process a segmented volume: erosion/dilation/open/close/absorb.
====Detailed Description====
Create and process a segmented volume: erosion/dilation/open/close/absorb.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:ConvertSegFieldToLatVol
0
1169
3308
2006-10-31T00:20:24Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertSegFieldToLatVol'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Modeling
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Create a LatVolField from a SegLatVolField -- choose a quantity to store as the data.
====Detailed Description====
Create a LatVolField from a SegLatVolField -- choose a quantity to store as the data.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:ConvertSegFieldToSepSurfs
0
1170
3309
2006-10-31T00:21:05Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertSegFieldToSepSurfs'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Modeling
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Create Separating surfaces from a SegLatVolField.
====Detailed Description====
Create Separating surfaces from a SegLatVolField.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:ConvertSepSurfToQuadSurf
0
1171
3310
2006-10-31T00:21:21Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertSepSurfToQuadSurf'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Modeling
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Change the Separating Surface into a QuadSurf.
====Detailed Description====
Change the Separating Surface into a QuadSurf.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:GetSingleSurfaceFromSepSurfs
0
1172
3311
2006-10-31T00:21:47Z
Blackham
44
wikitext
text/x-wiki
=='''GetSingleSurfaceFromSepSurfs'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Modeling
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Extract a single QuadSurf (one connected component) from a Separating Surface.
====Detailed Description====
Extract a single QuadSurf (one connected component) from a Separating Surface.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:SetConductivities
0
1173
3312
2006-10-31T00:22:11Z
Blackham
44
wikitext
text/x-wiki
=='''SetConductivities'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Modeling
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Change the conductivity tensors in a field.
====Detailed Description====
SetConductivities is used to interactively change the conductivity tensors in a field. These tensors are then used by many BioPSE modules to create the support matrices that are then used to solve forward and inverse problems.
The tensors are stored as a 'conductivities' property in the input and output fields. The fields should be of integer type and contain indices into this conductivities table. The indices start at value zero. Internally the table consists of a vector of entry pairs, each containing the tensor and a reference name.
The 'Tensor Matrix' input port is optional. If there is an Nx9 or 9xN matrix present on that port, then default conductivities will be extracted from that matrix.
Generating the GUI table can become intractable as the number of entries in the table grows. The default is to not generate the GUI table if there are more than 250 entries. You can force the GUI to update anyway by checking the "Force GUI Update" button. It is not recommended that you do so with more than a thousand or so entries.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:InterfaceWithNeuroFEMForward
0
1174
3313
2006-10-31T00:22:34Z
Blackham
44
wikitext
text/x-wiki
=='''InterfaceWithNeuroFEMForward'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: NeuroFEM
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Invoke the NeuroFEM ipm program to solve the forward problem for the inputs.
====Detailed Description====
Invoke the NeuroFEM ipm program to solve the forward problem for the inputs.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:InterfaceWithNeuroFEMInverse
0
1175
3314
2006-10-31T00:23:56Z
Blackham
44
wikitext
text/x-wiki
=='''InterfaceWithNeuroFEMInverse'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: NeuroFEM
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Invoke the NeuroFEM ipm program to solve the input problem for the inputs.
====Detailed Description====
Invoke the NeuroFEM ipm program to solve the input problem for the inputs.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:ShowAndEditDipoles
0
1176
3315
2006-10-31T00:24:15Z
Blackham
44
wikitext
text/x-wiki
=='''ShowAndEditDipoles'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Visualization
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Summary not available yet.
====Detailed Description====
Version Date: May 1999
Version: 1.0
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:BioPSE:ViewLeadSignals
0
1177
3316
2006-10-31T00:24:32Z
Blackham
44
wikitext
text/x-wiki
=='''ViewLeadSignals'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Visualization
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ViewLeadSignals module graphs a Matrix that has rows of potentials.
====Detailed Description====
The input matrix is rendered by interpreting each row in the matrix as a time series of values. So if you have a mxn matrix, you will see m line graphs with n values per graph. If an upstream module has set the units and timescale appropriately, the x-axis is (time) is updated appropriately.
Time units are displayed along the x-axis, where they are taken as a string from the properties in the Matrix.
The ViewLeadSignals module properties are: time-units, time-start, and time-end time-units; a string that displays along the x-axis. The start and end time determine the values for time.
The sliders at the top of the dialog are for choosing the row indecies that you wish to display. The Vertical Scale slider is for controlling the spacing that the graphs are drawn with, for example if you wish to render each lead in exaclty the same space, then set the Vertical Scale to 0.0.
Dragging the yellow vertical bars in the graph window updates the value displayed for each lead on the left side of the graph, allowing for closer data inspection at each time step.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
CIBC:Documentation:SCIRun:Reference:Teem
0
1178
3317
2006-10-31T00:26:47Z
Blackham
44
wikitext
text/x-wiki
=='''Teem Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Converters'''===
;[[CIBC:Documentation:SCIRun:Reference:Teem:ConvertColorMap2ToNrrd|ConvertColorMap2ToNrrd]]
:Convert a ColorMap2 into a 256x512x4 floating point image nrrd.
;[[CIBC:Documentation:SCIRun:Reference:Teem:ConvertColorMapToNrrd|ConvertColorMapToNrrd]]
:Convert a SCIRun ColorMap to a Nrrd.
;[[CIBC:Documentation:SCIRun:Reference:Teem:ConvertMatrixToNrrd|ConvertMatrixToNrrd]]
:Convert a SCIRun Matrix to a single Nrrd in the case of a Dense or Column Matrix or convert a Sparse Row Matrix to three Nrrds (Data, Rows, and Columns).
;[[CIBC:Documentation:SCIRun:Reference:Teem:ConvertNrrdToColorMap2|ConvertNrrdToColorMap2]]
:Load an Image and output it as a ColorMap2
;[[CIBC:Documentation:SCIRun:Reference:Teem:ConvertNrrdToMatrix|ConvertNrrdToMatrix]]
:Convert a combination of Nrrds to a SCIRun Matrix of type Column, Dense or Sparse.
;[[CIBC:Documentation:SCIRun:Reference:Teem:ConvertNrrdToRasterField|ConvertNrrdToRasterField]]
:Convert a combination of Nrrds to a SCIRun Field. This converter works on regular, unstructured and structured Data. If the module receives just Data, it will most likely be a regular Field (i.e. ScanLine, Image, LatVol). For structured and unstructured Fields, the data is optional. If Points but no Connections are given, a structured dataset will most likely be created (i.e. StructQuad, StructHex). If Points and Connections are given, an unstructured field will most likely be created (i.e. Curve, TriSurf, QuadSurf, TetVol, HexVol). If a Field is passed in, the module will try to use that Field's mesh.
;[[CIBC:Documentation:SCIRun:Reference:Teem:ConvertRasterFieldToNrrd|ConvertRasterFieldToNrrd]]
:Take the data from a field or fields and wrap it with a nrrd and pass it out.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:Teem:ExportImage|ExportImage]]
:Output a Nrrd as an image file.
;[[CIBC:Documentation:SCIRun:Reference:Teem:ImportImage|ImportImage]]
:Use ImageMagick libraries to open neary any image file.
;[[CIBC:Documentation:SCIRun:Reference:Teem:ImportNrrdFromAnalyze|ImportNrrdFromAnalyze]]
:Convert Analyze data to the NRRD format which can be used in SCIRun networks.
;[[CIBC:Documentation:SCIRun:Reference:Teem:ImportNrrdFromDicom|ImportNrrdFromDicom]]
:Convert DICOM data to the NRRD format which can be used in SCIRun networks.
;[[CIBC:Documentation:SCIRun:Reference:Teem:ReadNrrd|ReadNrrd]]
:Open a raw nrrd or a SCIRun wrapped nrrd.
;[[CIBC:Documentation:SCIRun:Reference:Teem:WriteNrrd|WriteNrrd]]
:Output the NrrdData object via Pio.
==='''Misc'''===
;[[CIBC:Documentation:SCIRun:Reference:Teem:BuildNrrdGradients|BuildNrrdGradients]]
:Compute the 3D gradient.
;[[CIBC:Documentation:SCIRun:Reference:Teem:BuildTextureWithGradientsFromNrrds|BuildTextureWithGradientsFromNrrds]]
:Set up a volume texture from a 3D scalar nrrd.
;[[CIBC:Documentation:SCIRun:Reference:Teem:ChooseNrrd|ChooseNrrd]]
:ChooseNrrd takes in an arbitrary number of input Nrrds, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:Teem:ClassifyHeadTissuesFromMultiMRI|ClassifyHeadTissuesFromMultiMRI]]
:Tolga Tasdizen's MRI Tissue Classifier Code.
;[[CIBC:Documentation:SCIRun:Reference:Teem:MiscProbe|MiscProbe]]
:This module adds the functionality of gage to SCIRun.
;[[CIBC:Documentation:SCIRun:Reference:Teem:ReportNrrdInfo|ReportNrrdInfo]]
:ReportNrrdInfo is used to view the attributes of Nrrd's.
;[[CIBC:Documentation:SCIRun:Reference:Teem:SelectTimeStepFromNrrd|SelectTimeStepFromNrrd]]
:The SelectTimeStepFromNrrd module allows users to select a single time step or column from a Misc that has a time axis. The user can also select a range of time indecies and send them to the output port one at a time. This module allows the user to animate Through a time series.
;[[CIBC:Documentation:SCIRun:Reference:Teem:SetNrrdProperty|SetNrrdProperty]]
:Set a Property for a Nrrd.
==='''Tend'''===
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendAnhist|TendAnhist]]
:Generate barycentric histograms of anisotropy. The barycentric space used is either one of Westin's triple of spherical, linear, and planar anisotropy. The bin counts in the histogram are weighted by the confidence value.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendAnplot|TendAnplot]]
:Graph anisotropy metric in barycentric coords. The metrics all vary from 0.0 to 1.0, and will be sampled in the lower right half of the image. The plane on which they are sampled is a surface of constant trace.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendAnscale|TendAnscale]]
:Scale the anisotropic component of the tensors. This maintains the isotropic component of the tensor, and fixes either the trace or determinant, while scaling up (or down) the deviatoric component of the tensor. Good for exaggerating the shape of nearly isotropic tensors.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendAnvol|TendAnvol]]
:Apply an anisotropy metric to a DT volume. The anisotropy value will be zero in the locations which don't meet the given confidence threshold.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendBmat|TendBmat]]
:Calculate B-matrix given gradient directions.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendEpireg|TendEpireg]]
:Register diffusion-weighted echo-planar images.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendEstim|TendEstim]]
:Estimate tensors from a set of DW images.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendEval|TendEval]]
:Calculate one or more eigenvalues in a DT volume.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendEvalAdd|TendEvalAdd]]
:Modify shape by adding a constant to all eigenvalues. The orientation of the tensor is unchanged. Note that unlike tend anscale, this operation can completely change the shape of the tensor.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendEvalClamp|TendEvalClamp]]
:Modify shape by clamping eigenvalues in some range.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendEvalPow|TendEvalPow]]
:Modify shape by raising eigenvalues to some power.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendEvec|TendEvec]]
:Calculate one or more eigenvectors in a DT volume.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendEvecRGB|TendEvecRGB]]
:Make an RGB volume from an eigenvector and an anisotropy.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendEvq|TendEvq]]
:Quantize directions of diffusion. Because VTK doesn't do multi-dimensional colormaps, we have to quantize directions of diffusion (usually just the principal eigenvector) in order to create the usual XYZ-RGB coloring. Because eigenvector directions are poorly defined in regions of low anisotropy, the length of the vector (pre-quantization) is modulated by anisotropy, requiring the selection of some anisotropy metric.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendExpand|TendExpand]]
:Converts a 7-value DT volume to a 9-value DT volume. The 7-value tensor is confidence value followed by the unique tensor components (Dxx, Dxy, Dxz, Dyy, Dyz, Dzz). The 9-value tensor is the full matrix (Dxx, Dxy, Dxz, Dxy, Dyy, Dyz, Dxz, Dyz, Dzz), which is set to all zeros when the confidence is below the given threshold.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendFiber|TendFiber]]
:Extract a single fiber tract, given a start point.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendMake|TendMake]]
:Create DT volume from confidence and eigensystem. The input is in the form of three nrrds, one for confidence values (3D), one for eigenvalues (4D, three evals per voxel), and one for eigenvectors (4D, nine evec components per voxel).
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendNorm|TendNorm]]
:Normalize tensor size.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendPoint|TendPoint]]
:Describe everything about one sample in a DT volume.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendSatin|TendSatin]]
:Generate a pretty synthetic DT volume. The surface of a sphere or torus is covered with either linear or planar anisotropic tensors, or somewhere in between.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendShrink|TendShrink]]
:Converts a 9-value DT volume to a 7-value DT volume. The confidence value is set to 1.0 everwhere. You can unu spliced or nrrdSplice() something else in its place later.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendSim|TendSim]]
:Simulate DW images from a tensor field. The output will be in the same form as the input to tend estim, , and the B matrix used is the output from tend bmat. The other required inputs are the reference (non-diffusion-weighted) anatomical scalar volume, and the corresponding volume of diffusion tensors.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendSlice|TendSlice]]
:Slice 3D tensors to get slab/image of 3D/2D tensors.
;[[CIBC:Documentation:SCIRun:Reference:Teem:TendSten|TendSten]]
:Calculate structure tensors from a scalar field. Not a diffusion tensor, but it is symmetric and positive-definate.
==='''UnuAtoM'''===
;[[CIBC:Documentation:SCIRun:Reference:Teem:Unu1op|Unu1op]]
:Unary operation on a nrrd.
;[[CIBC:Documentation:SCIRun:Reference:Teem:Unu2op|Unu2op]]
:Binary operation on two nrrds, or on a nrrd and a constant. Either the first or second operand can be a float constant, but not both. To perform the operation on two nrrds, connect both input ports. To have one Nrrd on the left hand side of the operator, connect to the first port and vice versa for the right hand side.
;[[CIBC:Documentation:SCIRun:Reference:Teem:Unu3op|Unu3op]]
:Ternary operation on three nrrds or constants. Can have one, two, or three nrrds, but not zero.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuAxdelete|UnuAxdelete]]
:Remove one or more singleton axes from a nrrd. Singleton axes have only a single sample along them. The underlying linear ordering of the samples is unchanged, and the information about the other axes is shifted downwards as needed.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuAxinfo|UnuAxinfo]]
:Modify attributes of a nrrd for a given axis. The only attributes which are set are the label, kind, minimum and maximum values, spacing, and spaceDirection.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuAxinsert|UnuAxinsert]]
:Add a stub (length 1) axis to a nrrd. The underlying linear ordering of the samples is unchanged, and the information about the other axes is shifted upwards as needed.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuAxmerge|UnuAxmerge]]
:Merge two adjacent axes into one. A more general version of unu axdelete. The underlying linear ordering of the samples is unchanged, and the information about the other axes is shifted downwards as needed.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuAxsplit|UnuAxsplit]]
:Split one axis into two axes. More general version of unu axinsert, since a given axis can be split into fast and slow axes of arbitrary size, as long as the product of the fast and slow sizes is the same as the original size.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuCCadj|UnuCCadj]]
:Form adjecency matrix of connected components. This operates on the output of ccfind. Output is unsigned char array containing 1 at locations (I,J) and (J,I) if CCs with ids I and J are adjacent, according to the chosen style of adjacency.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuCCfind|UnuCCfind]]
:Find connected components (CCs). This works on 1-byte and 2-byte integral values, as well as 4-byte ints.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuCCmerge|UnuCCmerge]]
:Merge CCs with their neighbors, under various contraints. This operates on the output of "ccfind". Merging of a CC is always done into its largest neighbor. Whether or not to merge can be constrained by one or more of: CC size (-s), original CC value being brighter or darker (-d), and number of neighbors (-n).
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuCCsettle|UnuCCsettle]]
:Remap CC values down to lowest contiguous values.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuCmedian|UnuCmedian]]
:Cheap histogram-based median filtering
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuConvert|UnuConvert]]
:
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuCrop|UnuCrop]]
:Create an output nrrd that is a subsample of the original.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuDhisto|UnuDhisto]]
:Create (PGM) image of 1-D value histogram
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuFlip|UnuFlip]]
:Reverse order of slices along one axis. Special case of unu shuffle.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuGamma|UnuGamma]]
:Brighten or darken values with a gamma. Just as in xv, the gamma value here is actually the reciprocal of the exponent actually used to transform the values.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuHeq|UnuHeq]]
:Perform histogram equalization. If this seems to be doing nothing, try increasing the number of histograms bins by an order of magnitude or two (or more). Or, use "unu gamma" to warp the values in the direction you know they need to go. Either of these might work because extremely tall and narrow peaks in the equalization histogram will produce poor results.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuHistax|UnuHistax]]
:Replace each scanline along an axis with its histogram.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuHisto|UnuHisto]]
:Create 1-D histogram of values in a nrrd.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuImap|UnuImap]]
:Map nrrd through *irregular* univariate map (colormap). A map is irregular if the control points are not evenly spaced along the domain, and hence their position must be explicitly represented in the map. As nrrds, these maps are necessarily 2D. Along axis 0, the first value is the location of the control point, and the remaining values give are the range of the map for that control point. The output value(s) is the result of linearly interpolating between value(s) from the map.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuInset|UnuInset]]
:Replace a sub-region with a different nrrd. This is functionally the opposite of crop.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuJhisto|UnuJhisto]]
:Create joint histogram of two or more nrrds. Each axis of the output corresponds to one of the input nrrds, and each bin in the output records the number of corresponding positions in the inputs with a combination of values represented by the coordinates of the bin.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuJoin|UnuJoin]]
:module interface for nrrdJoin function.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuLut|UnuLut]]
:Map nrrd through univariate lookup table (itself represented as a nrrd). The lookup table can be 1D, in which case the output has the same dimension as the input, or 2D, in which case the output has one more dimension than the input, and each value is mapped to a scanline (along axis 0) from the lookup table.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuMake|UnuMake]]
:Create a nrrd (or nrrd header) from scratch. The data can be in one or more files, or coming from stdin. This provides an easy way of providing the bare minimum information about some data so as to wrap it in a nrrd, either to pass on for further unu processing, or to save to disk. However, with -h , this creates only a detached nrrd header file, without ever reading or writing data. When reading multiple files, each file must contain the data for one slice along the slowest axis. Nearly all the options below refer to the finished nrrd resulting from joining all the slices together, with the exception of -ls , -bs , and -e , which apply to every input slice file. When reading data from many seperate files, it may be easier to put their filenames in a response file; there can be one or more filenames per line of the response file.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuMinmax|UnuMinmax]]
:Print out min max values in one or more nrrds
==='''UnuNtoZ'''===
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuPad|UnuPad]]
:Pad the size of a nrrd along its axes.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuPermute|UnuPermute]]
:Specify axes to be swapped with eachother
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuProject|UnuProject]]
:
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuQuantize|UnuQuantize]]
:Quantize values into 8, 16, 32 bit values.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuResample|UnuResample]]
:Resample a nrrd to a new size.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuReshape|UnuReshape]]
:Superficially change dimension and/or axes sizes. The underlying linear ordering of the samples is unchanged, but the reported dimension or axes sizes are changed. Identical in concept to Matlab's reshape command.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuRmap|UnuRmap]]
:Map nrrd through *regular* univariate map (colormap). A map is regular if the control points are evenly spaced along the domain, and hence their position isn't explicitly represented in the map; the axis min, axis max, and number of points determine their location. The map can be a 1D nrrd (for grayscale), in which case the output has the same dimension as the input, or a 2D nrrd (for color), in which case the output has one more dimension than the input. In either case, the output is the result of linearly interpolating between map points, either scalar values (grayscale), or scanlines along axis 0 (color).
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuRmapN|UnuRmapN]]
:Map nrrd through *regular* univariate map (colormap). A map is regular if the control points are evenly spaced along the domain, and hence their position isn't explicitly represented in the map; the axis min, axis max, and number of points determine their location. This is an N dimensional mapping in that the fast axis of the nrrd is used to look up coordinates in the N or N+1 map. If the map is of dimension N then it is assumed to be grayscale, otherwise all of the fast axis is treated as a 'color'. This module does no interpolation, rather the nrrd coordinates should exactly match the range of the colormap nrrd dimensions, ie 0-255 for a 1D map of size 256.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuSave|UnuSave]]
:Write nrrd with specific format, encoding, or endianness. EPS output is a EPSF-3.0 file with BoundingBox and HiResBoundingBox DSC comments, and is suitable for inclusion into other PostScript documents. As a stand-alone file, the image is conveniently centered on an 8.5x11 inch page, with 0.5 inch margins.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuShuffle|UnuShuffle]]
:Permute slices along one axis.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuSlice|UnuSlice]]
:
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuSplice|UnuSplice]]
:Replace a slice with a different nrrd. This is functionally the opposite of slice.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuSwap|UnuSwap]]
:Interchange scan-line ordering of two axes. Special case of unu permute.
;[[CIBC:Documentation:SCIRun:Reference:Teem:UnuUnquantize|UnuUnquantize]]
:Recover floating point values from quantized data.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference
0
1089
3229
1543
2006-11-01T02:22:37Z
Blackham
44
/* '''Module Reference''' */
wikitext
text/x-wiki
=='''Module Reference'''==
'''SCIRun'''
;[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun Modules]]
:Reference documentation on all modules inside the Core of SCIRun
'''Packages (stable)'''
;[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE Modules]]
:This extension package has modules for doing bioelectic field calculations
;[[CIBC:Documentation:SCIRun:Reference:Insight|Insight Modules]]
:This extension package contains an interface to the Insight ToolKit
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface Modules]]
:This extension package contains an interface to Matlab
;[[CIBC:Documentation:SCIRun:Reference:Teem|Teem Modules]]
:This extension package contains an interface to the Teem library
'''Packages (under development)'''
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface Modules]]
:This extension package contains an interface to the CardioWave simulator
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation Modules]]
:A sandbox containing modeling and meshing tools, that ultimately will be integrated in the core of SCIRun
----
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol
0
1179
3318
2006-11-01T02:31:08Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertHexVolToTetVol'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a HexVolField into a TetVolField.
====Detailed Description====
Given a Hex field (or anything that supports the same interface) as input, produce a TetVol as output -- each Hex element gets split into 5 Tets. In order to produce consistent splits across faces, we alternate between two different templates for how to do the split. Currently HexVolMesh, StructHexVolMesh, and LatVolMesh fields can be converted into TetVolMeshes.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV
0
1180
3319
2006-11-01T02:31:45Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertMLVtoHV'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): Chris Moulding
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a LatVolField to a HexVolField
====Detailed Description====
Convert a LatVolField to a HexVolField
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem
0
1181
3320
2006-11-01T02:32:10Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertMeshCoordinateSystem'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud
0
1182
3321
2006-11-01T02:32:28Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertMeshToPointCloud'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a structured field into an unstructured field for editing.
====Detailed Description====
This converts a LatVolField into a HexVolField, an ImageField into a QuadSurfField, or a ScanlineField into a CurveField. The structured meshes are not editable, as that operation does not preserve structure. Data values and locations are preserved in the transformation.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh
0
1183
3322
2006-11-01T02:32:55Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertMeshToUnstructuredMesh'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a structured field into an unstructured field for editing.
====Detailed Description====
This converts a LatVolField into a HexVolField, an ImageField into a QuadSurfField, or a ScanlineField into a CurveField. The structured meshes are not editable, as that operation does not preserve structure. Data values and locations are preserved in the transformation.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf
0
1184
3323
2006-11-01T02:33:17Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertQuadSurfToTriSurf'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a QuadSurfField into a TriSurfField.
====Detailed Description====
Given a QuadSurfField (or anything that supports the same interface) as input, produce a TriSurfField as output -- each Quad element gets split into 2 Tris. In order to produce consistent splits across faces, we alternate between two different templates for how to do the split.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh
0
1185
3324
2006-11-01T02:33:38Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertRasterMeshToStructuredMesh'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a regular lattice field into an structured field.
====Detailed Description====
This converts a LatVolField into a StructHexVolField, an ImageField into a StructQuadSurfField, or a ScanlineField into a StructCurveField. Data values and locations are preserved in the transformation.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV
0
1186
3325
2006-11-01T02:34:03Z
Blackham
44
wikitext
text/x-wiki
=='''ConvertTVtoMLV'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): Chris Moulding
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a TetVolField to a MaskedLatVolField
====Detailed Description====
ConvertTVtoMLV will create a regular grid representation of a TetVolField.
First it creates a XxYxZ MaskedLatVolField specified by the dimensions in the GUI. Then it scales and transform the field to envelop the input TetVolField. Then it masks out any rectangular elements that do not intersect with the input TetVolField. All Values are then interpolated to the new field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox
0
1187
3326
2006-11-01T02:34:21Z
Blackham
44
wikitext
text/x-wiki
=='''EditMeshBoundingBox'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
EditMeshBoundingBox is used to transform the field geometry.
====Detailed Description====
EditMeshBoundingBox can trasform the field geometry via the UI or a widget attached to a MODULE REFERENCE window.
The output field is the transformed input field.
The output matrix is the resultant transformation matrix used to transform the field. It can be used to transform other fields in SCIRun.
The UI can change the center and the size of the output field. Check the box next to the output attribute you wish to modify. The 'Copy Input to Output' button will reset the output values to the input values.
To interactively transform the input field you must attach the Widget Port (the middle output port) to the viewer window.
To move the widget: Shift+LeftClick on the edges of the widget frame and move the transformation box around.
To scale the widget: Shift+LeftClick on the spheres located on each face of the widget and drag. This will scale the output field in a direction normal to the face the sphere is located on.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate
0
1188
3327
2006-11-01T02:34:46Z
Blackham
44
wikitext
text/x-wiki
=='''MapFieldDataToNodeCoordinate'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Replace a mesh coordinate with the scalar fdata values.
====Detailed Description====
For unstructured data (HexVol, TetVol, QuadSurf, TriSurf, Curve, PointCloud) change the positions of the nodes by replacing one of the coordinates with the Field data. (Note: this is obviously only supported for scalar data types.) Per Allen's request, for surface meshes, also support "pushing" the nodes by (normal x data). This module is useful for turning cutting planes into heightfields, and for "inflating/deflating" surfaces.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh
0
1189
3328
2006-11-01T02:35:12Z
Blackham
44
wikitext
text/x-wiki
=='''SmoothMesh'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): Jason Shepherd
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Nodal movement to improve mesh quality.
====Detailed Description====
The SmoothMesh module is used to move various nodes in a mesh in an attempt to improve the overall mesh quality. The TSTT MESQUITE library is the work-horse for this module. (see http://www.cs.sandia.gov/optimization/knupp/Mesquite.html and/or http://www.tstt-scidac.org/research/mesquite.html for more information, or http://software.sandia.gov to download the MESQUITE library.)
Only TetVol, HexVol, TriSurf, and QuadSurf meshes are currently supported by this module. It is important that the triangles are oriented consistently when smoothing a TriSurfMesh.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries
0
1190
3329
2006-11-01T02:35:30Z
Blackham
44
wikitext
text/x-wiki
=='''SwapNodeLocationsWithMatrixEntries'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Extract and change the positions of the nodes in a mesh.
====Detailed Description====
This module performs two simultanious operations. First the locations of all the nodes in the "Input Field" are extracted into a matrix and sent to the "Output Matrix" port as an Nx3 matrix, where N is the number of nodes in the field. The positions are sent in xyz order. This first operation works on any field type because it does not make changes to the field.
The second operation is optional. If an "Input Matrix" is available then a new field is constructed containing a copy of the "Input Field" except that the node locations are replaced by the position data in the "Input Matrix". The "Input Matrix" is expected to be Nx3, where N is the number of nodes in the field and the three columns represent xyz positions. This operation requires the "Input Field" to be an editable mesh type. The MODULE REFERENCE module can be used to make uneditable meshes editable.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:ModelCreation
0
1191
3330
2006-11-01T03:06:38Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ModelCreation Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''BreakPoint'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:InsertBundleBreakPoint|InsertBundleBreakPoint]]
:BreakPoint of Bundle flow. This module will buffer all input when it is blocked and will copy the input to the output when it is unblocked.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:InsertFieldBreakPoint|InsertFieldBreakPoint]]
:BreakPoint of Field flow. This module will buffer all input when it is blocked and will copy the input to the output when it is unblocked.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:InsertMatrixBreakPoint|InsertMatrixBreakPoint]]
:BreakPoint of Matrix flow. This module will buffer all input when it is blocked and will copy the input to the output when it is unblocked.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:InsertStringBreakPoint|InsertStringBreakPoint]]
:BreakPoint of String flow. This module will buffer all input when it is blocked and will copy the input to the output when it is unblocked.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateDistanceToField|CalculateDistanceToField]]
:This module computes the minimum distance between the object and the nodes in field or the center of the elements.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateDistanceToFieldBoundary|CalculateDistanceToFieldBoundary]]
:This module computes the minimum distance between the boundary of the field and the nodes in field or the center of the elements.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateFieldData|CalculateFieldData]]
:This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateInsideWhichField|CalculateInsideWhichField]]
:This module detects whether a node or a cell is inside any of the object fields. The output field will be indexed according to the object it is in starting with index 1. Index 0 reserved for the part of the field not in any of the object fields.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateIsInsideField|CalculateIsInsideField]]
:This module determines whether the points or the center of the elements are located within a volume defined by a volume mesh or by a closed surface.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateSignedDistanceToField|CalculateSignedDistanceToField]]
:This function needs an object field that is a volume or a closed surface. When inside the object the distance field is positive, when outside it is negative. The module will fail for not close surfaces as one cannot define inside and outside. Similarly this function will not work for objects that are lines or points. Use the DistanceToField module for these objects.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ComputeChangeFieldData|ComputeChangeFieldData]]
:This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertIndicesToFieldData|ConvertIndicesToFieldData]]
:This module takes a field with inidices and puts the data indexed from a matrix in the field.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMappingMatrixToFieldData|ConvertMappingMatrixToFieldData]]
:This module puts the index of the original field onto the field.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateFieldData|CreateFieldData]]
:This module creates data for a mesh. The module takes in a field, whose field data is discarded and a new field is generated basis on the same mesh.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:GetFieldData|GetFieldData]]
:Get the data from the field and put it into a matrix.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:MapCurrentDensityOntoField|MapCurrentDensityOntoField]]
:This module maps potentials and conductivities into a current density field. The module samples the underlying fields and averages or integrates the data and puts the result on the elements of the output mesh. The module has the option to do the dot product with the current density field as well for surface destination meshes.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:MapFieldDataFromElemToNode|MapFieldDataFromElemToNode]]
:Compute the value of the nodes based on the data from the adjoining elements. This module supports various operations to map element data to node data.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:MapFieldDataFromNodeToElem|MapFieldDataFromNodeToElem]]
:Compute the value of the elements based on the data from the adjoining elements. This module supports various operations to map node data to element data.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:MapFieldDataGradientOntoField|MapFieldDataGradientOntoField]]
:This module maps the gradient on the destination field.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:MapFieldDataOntoFieldNodes|MapFieldDataOntoFieldNodes]]
:This module takes a source field and maps it onto a destiation field. The module projects the data onto the nodes of the destination mesh.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportFieldDataMeasures|ReportFieldDataMeasures]]
:Calculate Sum, Average, Minimum, Maximum, etc of the field data.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:SelectAndSetChangeFieldData|SelectAndSetChangeFieldData]]
:This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:SelectAndSetFieldData|SelectAndSetFieldData]]
:This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:SetFieldData|SetFieldData]]
:Extract data from the matrix and insert it into the field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateLinkBetweenOppositeFieldBoundaries|CalculateLinkBetweenOppositeFieldBoundaries]]
:This module will build a table which will indicate which nodes at the edges are connected to the opposite edges.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateMeshNodes|CalculateMeshNodes]]
:This module computes a new node location based upon a combination of scalars, vectors, and tensors and other node positions.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a field into a PointCloud field.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMeshToTetVol|ConvertMeshToTetVol]]
:Convert a field into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMeshToTriSurf|ConvertMeshToTriSurf]]
:This module converts a field into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertToUnstructuredMesh|ConvertToUnstructuredMesh]]
:This module converts a field with a regular mesh into a field with an unstructured mesh.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:FindClosestNodeIndex|FindClosestNodeIndex]]
:Find an index per point of the closest node in the field.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:FindClosestNodeIndexByValue|FindClosestNodeIndexByValue]]
:Find an index per point of the closest node with given value in the field.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:GetBoundingBox|GetBoundingBox]]
:This module gets the bounding box of a field.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:MergeMeshNodes|MergeMeshNodes]]
:Merge nodes that are close together and remove double elements.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ScaleFieldMeshAndData|ScaleFieldMeshAndData]]
:Scale Data and Geometry to match units.
==='''Converter'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMatricesToDipoleField|ConvertMatricesToDipoleField]]
:This module takes a matrix with locations and strengths and converts it into a pointcloud field with vectors.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMatrixToField|ConvertMatrixToField]]
:Convert a Matrix into a ImageMesh.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMatrixToString|ConvertMatrixToString]]
:ConvertMatrixToString prints the contents of a matrix into a string.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertNrrdToField|ConvertNrrdToField]]
:Convert a NRRD into a SCIRun Field object.
==='''CreateField'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ClipFieldByFunction|ClipFieldByFunction]]
:This module can be used to clip of parts of a mesh, using a function which defines which parts are inside and which parts are outside of the clipping range.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ClipFieldByMesh|ClipFieldByMesh]]
:This module Clips a field by taking all the elements that are inside the object field.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ClipFieldBySelectionMask|ClipFieldBySelectionMask]]
:Clip away the section of the mesh that is not selected in the SelectionMask.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CollectFields|CollectFields]]
:Collect the fields that are fed into the module. The field will be added to the output field. The module has a buffer with a first in, first out behavior to keep a history of fields in the buffer.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:GetDomainBoundary|GetDomainBoundary]]
:This module will extract the inner and outer boundaries from a mesh. An inner boundary is defined as the boundary between different regions with a different value on the elements. The outer boundary is the boundary that surround the mesh.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:GetFieldBoundary|GetFieldBoundary]]
:A GetFieldBoundary version that works for all fields.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:MergeFields|MergeFields]]
:MergeFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:MergeMeshes|MergeMeshes]]
:MergeFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:SplitAndMergeFieldByDomain|SplitAndMergeFieldByDomain]]
:This module uses the data at the elements to split the mesh into segements that all have the same element data.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:SplitFieldByConnectedRegion|SplitFieldByConnectedRegion]]
:This module splits a field into a series of fields in which every field contains a segment of the field that was not topologically connected to the other parts of the field.
==='''DataArrayMath'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:AppendDataArrays|AppendDataArrays]]
:This module appends various data arrays together.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateDataArray|CalculateDataArray]]
:This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateDataArray|CreateDataArray]]
:This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateDataArrayFromIndices|CreateDataArrayFromIndices]]
:This module takes the elements of the input array and reorders them according to order specified in the index vector.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateTensorArray|CreateTensorArray]]
:This module creates a N by 9 matrix describing tensors. The tensors are constructed out of two orthogonal N by 3 arrays describing the eigenvectors for the system and 3 column vectors describing the eigen values.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateVectorArray|CreateVectorArray]]
:This module creates a vector out of arrays of scalars.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:DecomposeTensorArrayIntoEigenVectors|DecomposeTensorArrayIntoEigenVectors]]
:This module decomposes the a N by 9 Matrix, representing an array of tensors into three N by 3 matrices which contain the eigen vectors of the system, numbered from the most significant to the least significant and three column vectors representing the three eigen values of the tensor.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReplicateDataArray|ReplicateDataArray]]
:This module takes a ScalarArray, VectorArray or TensorArray and replicates it n-fold.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportDataArrayMeasure|ReportDataArrayMeasure]]
:This module calculates a measure of the array.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:SplitVectorArrayInXYZ|SplitVectorArrayInXYZ]]
:Decomposed the vector in the three cartesian coordinates.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadBundle|ReadBundle]]
:This module reads a bundle from disk.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadColorMap|ReadColorMap]]
:The ColorMap Read a persistent colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadColorMap2D|ReadColorMap2D]]
:The ColorMap2 Read a persistent 2D colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadField|ReadField]]
:ReadField allows the user to load-in any of the SCIRun supported Field types and then sends that Field to another module.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadMatrix|ReadMatrix]]
:The ReadMatrix moudle reads a persistent matrix from a file and sends that matrix to another module.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadPath|ReadPath]]
:The ReadPath module reads a persistent camera path from a file.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadString|ReadString]]
:This module reads a text file into a string.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:WriteBundle|WriteBundle]]
:This module writes a bundle to disk.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:WriteColorMap|WriteColorMap]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:WriteColorMap2D|WriteColorMap2D]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:WriteField|WriteField]]
:Saves persistent field objects received from upstream modules.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:WriteMatrix|WriteMatrix]]
:The WriteMatrix modules saves a persistent representation of a matrix to disk.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:WritePath|WritePath]]
:The WritePath module saves persistent representation of a path to a file.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:WriteString|WriteString]]
:This module writes a text file with the contents of the string.
==='''DataStreaming'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:StreamMatrixFromDisk|StreamMatrixFromDisk]]
:Stream Data from a file on disk without loading the data into memory.
==='''ExampleFields'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:GenerateSphericalSurface|GenerateSphericalSurface]]
:This module creates an example spherical surface.
==='''FieldProperty'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:GetMatrixFromFieldProperties|GetMatrixFromFieldProperties]]
:This module retrieves a matrix property from a field.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:GetStringFromFieldProperties|GetStringFromFieldProperties]]
:This module retrieves a string property from a field.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:InsertMatrixIntoFieldProperties|InsertMatrixIntoFieldProperties]]
:This module adds a 'matrix' object as a field property.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:InsertStringIntoFieldProperties|InsertStringIntoFieldProperties]]
:This module adds a 'string' object as a field property.
==='''FieldsData'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ModalMapping|ModalMapping]]
:This module takes a source field and maps it onto a destiation field. The module projects the data onto the elements of the destination mesh.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:SelectByFieldData|SelectByFieldData]]
:This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:SelectByFieldsData|SelectByFieldsData]]
:This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
==='''FiniteElements'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:BuildFEMatrix|BuildFEMatrix]]
:This module builds the Finite Element Method stiffness matrix.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateFEDirichletBC|CreateFEDirichletBC]]
:This module creates a Dirichlet boundary condition.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateLinkBetweenMeshAndCompGrid|CreateLinkBetweenMeshAndCompGrid]]
:This module computes how nodes should be merged over the boundary. It calculates the needed ordering in the computational grid.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateLinkBetweenMeshAndCompGridByDomain|CreateLinkBetweenMeshAndCompGridByDomain]]
:This module computes how nodes should be merged over the boundary. It calculates the needed ordering in the computational grid.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:AppendMatrix|AppendMatrix]]
:Append a matrix to a base matrix.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:GetSubMatrix|GetSubMatrix]]
:Get a submatrix from a matrix by selecting row and column indices.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReorderMatrixByCuthillMcKee|ReorderMatrixByCuthillMcKee]]
:This module reorders the rows and columns of a square matrix according to the CutHill-McKee scheme in order to reduce the bandwidth of the matrix.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReorderMatrixByReverseCuthillMcKee|ReorderMatrixByReverseCuthillMcKee]]
:This module reorders the rows and columns of a square matrix according to the reverse CutHill-McKee scheme in order to reduce the bandwidth of the matrix.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportMatrixColumnMeasure|ReportMatrixColumnMeasure]]
:Apply an operator on each column of the matrix.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportMatrixRowMeasure|ReportMatrixRowMeasure]]
:Apply an operator on each row of the matrix.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ResizeMatrix|ResizeMatrix]]
:This module resizes a matrix.
==='''ReportInfo'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportDataArrayInfo|ReportDataArrayInfo]]
:Get information on a matrix used as a ScalarArray, VectorArray, or TensorArray.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
==='''Script'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ManageParameterMatrix|ManageParameterMatrix]]
:This module gets a matrix from a ParameterList.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ManageParameterString|ManageParameterString]]
:This module gets a String from a ParameterList.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ParameterList|ParameterList]]
:This module allows for creation a bundle with strings, scalars, vectors, and tensors as components. Each component has a name and can be extracte out of the bundle.
==='''SelectionMask'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertIndicesToSelectionMask|ConvertIndicesToSelectionMask]]
:This function converts a list of indices into a SelectionMask. The module needs to know the length of the selection mask in order to know what the biggest index is. (This one is not necessarily selected)
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertSelectionMaskToIndices|ConvertSelectionMaskToIndices]]
:This function converts the SelectionMask into a list of all activated elements.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:DoSelctionMaskOR|DoSelctionMaskOR]]
:Boolean OR operation on a series of selection masks.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:DoSelctionMaskXOR|DoSelctionMaskXOR]]
:Exclusive OR operation on two selection masks.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:DoSelectionMaskAND|DoSelectionMaskAND]]
:Boolean AND operation on a series of selection masks.
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:DoSelectionMaskNOT|DoSelectionMaskNOT]]
:Inverts a selection. Nodes that were not selected get selection and nodes that were selected get deselected.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertTimeToWeightedIndices|ConvertTimeToWeightedIndices]]
:This module calculates a weights vector to do a linear interpolation between two time frames.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:AppendDataArrays
0
1235
3374
2006-11-01T03:52:33Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''AppendDataArrays'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataArrayMath
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module appends various data arrays together.
====Detailed Description====
A data array is a dense matrix that represents an array of scalars, vectors, or tensors. Each row in the matrix represents one scalar, one vector or one tensor. The number of columns in the matrix is one for an array of scalars, three for an array of vectors, or six or nine for an array of tensors.
This module takes several of these matrices and appends the subsequent at the bottom of the matrix, expanding the array.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:AppendMatrix
0
1236
3375
2006-11-01T03:52:36Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''AppendMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Math
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Append a matrix to a base matrix.
====Detailed Description====
Append a matrix to a base matrix.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:BuildFEMatrix
0
1239
3378
2006-11-01T03:52:47Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''BuildFEMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: FiniteElements
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module builds the Finite Element Method stiffness matrix.
====Detailed Description====
==== Module Description ====
This module builds the Finite Element Stiffness matrix for a certain field. It will assume the data on the field will describe the conductivity of the medium. Currently there are two ways of specifying a conductivity for a domain. One can use the values assigned to the field as scalar isotropic conductivities or as tensor anisotropic ocnductivities. The second method is to attach a conductivity table to the module. In this case the values in the field are assumed to be indices into the conductivity table. The conductivity table is a m by 6 matrix or an m by 9 matrix depending on how many coefficients of the symmetric tensor are given. Note that in case 9 are given, three values will not be used as they have to be symmetric entries. The ordering for the table using 6 values is, xx, xy, xz, yy, zy, and zz. The module is also able use a different node ordering in the computational space. For a different ordering in the computational space, one should add a GeomToComp mapping matrix (From Geometrical mesh to Computational grid). This mapping matrix describes how the geometrical space is mapped into the comptutational space. If no mapping is given the node ordering in the input field is used.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateDataArray
0
1243
3382
2006-11-01T03:53:08Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateDataArray'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataArrayMath
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
====Detailed Description====
====Overview====
This module lets the user compute a new scalar, vector, or tensor array. A scalar array is a nx1 matrix, a vector array is a nx3 matrix, and a tensor array is a nx6 or nx9 matrix (A nx6 tensor is defined as xx, xy, xz, yy, yz, zz). These matrices are used to store scalar, vector or tensor data associated with a mesh or field. To compute new scalar, vector or tensor values one has to supply a user-defined function that computes the new values. This function can be either supplied through the GUI or it can be supplied as a string. The module loops through each array element and uses the user-defined function to compute a new value. The output in this case is a function of scalar, vector, or tensor arrays. The function is applied by taking the next element of each array and applying the function to these variables. When the array size of one of the input variables is 1, it is assumed to be a constant value and it is taken each time the module gets a value from that array. The final size of the array is determined by the size of the other input arrays, or by the separate size input port. The latter is supplied in case all inputs are of size one, in which case the module needs a way to determine the size of the output.
====Input elements====
There are several input elements available to compute a new scalar values. A short list is displayed below.
INDEX: The index number, which is the row index. Indexing starts at 0.
SIZE: The size of the of the new array.
A,B,C, ...: Matrices representing either scalar, vector, or tensor arrays. A scalar array is a nx1 matrix with scalar values, a vector array is a nx3 matrix and a tensor array is either a nx6 or nx9 matrix. In case of 6 elements they are stored in the following order: xx,xy,xz,yy,yz, and zz. The number of elements in each array can be either one or the number of scalars in the array. In case only one element is given, it is assumed to be a constant that applies to all data elements. This module allows up to 26 different matrices to be used.
====Output elements====
The output is stored in the variable RESULT.
====See Also ====
MODULE REFERENCE MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToField
0
1244
1871
2006-11-01T03:53:14Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateDistanceToField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes the minimum distance between the object and the nodes in field or the center of the elements.
====Detailed Description====
This module computes the minimum distance between the object and the nodes in field or the center of the elements.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToFieldBoundary
0
1245
1980
2006-11-01T03:53:19Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateDistanceToFieldBoundary'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes the minimum distance between the boundary of the field and the nodes in field or the center of the elements.
====Detailed Description====
This module computes the minimum distance between the boundary of the field and the nodes in field or the center of the elements.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateFieldData
0
1246
3385
2006-11-01T03:53:23Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
====Detailed Description====
====Overview====
This module lets the user compute a new scalar, vector, or tensor array. A scalar array is a nx1 matrix, a vector array is a nx3 matrix, and a tensor array is a nx6 or nx9 matrix (A nx6 tensor is defined as xx, xy, xz, yy, yz, zz). These matrices are used to store scalar, vector or tensor data associated with a mesh or field. To compute new scalar, vector or tensor values one has to supply a user-defined function that computes the new values. This function can be either supplied through the GUI or it can be supplied as a string. The module loops through each array element and uses the user-defined function to compute a new value. The output in this case is a function of scalar, vector, or tensor arrays. The function is applied by taking the next element of each array and applying the function to these variables. When the array size of one of the input variables is 1, it is assumed to be a constant value and it is taken each time the module gets a value from that array. The final size of the array is determined by the size of the other input arrays, or by the separate size input port. The latter is supplied in case all inputs are of size one, in which case the module needs a way to determine the size of the output.
====Input elements====
There are several input elements available to compute a new scalar values. A short list is displayed below.
INDEX: The index number, which is the row index. Indexing starts at 0.
SIZE: The size of the of the new array.
A,B,C, ...: Matrices representing either scalar, vector, or tensor arrays. A scalar array is a nx1 matrix with scalar values, a vector array is a nx3 matrix and a tensor array is either a nx6 or nx9 matrix. In case of 6 elements they are stored in the following order: xx,xy,xz,yy,yz, and zz. The number of elements in each array can be either one or the number of scalars in the array. In case only one element is given, it is assumed to be a constant that applies to all data elements. This module allows up to 26 different matrices to be used.
====Output elements====
The output is stored in the variable RESULT.
====See Also ====
MODULE REFERENCE MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateInsideWhichField
0
1247
3386
2006-11-01T03:53:28Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateInsideWhichField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module detects whether a node or a cell is inside any of the object fields. The output field will be indexed according to the object it is in starting with index 1. Index 0 reserved for the part of the field not in any of the object fields.
====Detailed Description====
This module detects whether a node or a cell is inside any of the object fields. The output field will be indexed according to the object it is in starting with index 1. Index 0 reserved for the part of the field not in any of the object fields.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateIsInsideField
0
1248
3387
2006-11-01T03:53:33Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateIsInsideField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module determines whether the points or the center of the elements are located within a volume defined by a volume mesh or by a closed surface.
====Detailed Description====
This module determines whether nodes or the centers of the elements are located within a volume defined by a volume mesh or by a closed surface. If the input field has data on the elements the centers of the elements are tested for whethter they are inside the volume. This module assigns a 1.0 to every node or element that is inside the object field and 0.0 to every node or element that is outside. The module outputs the data both as a field and as a matrix. The latter is equal to a selection vector.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateLinkBetweenOppositeFieldBoundaries
0
1249
3388
2006-11-01T03:53:38Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateLinkBetweenOppositeFieldBoundaries'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeMesh
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module will build a table which will indicate which nodes at the edges are connected to the opposite edges.
====Detailed Description====
This module will build a table which will indicate which nodes at the edges are connected to the opposite edges.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateMeshNodes
0
1250
3389
2006-11-01T03:53:42Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateMeshNodes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeMesh
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes a new node location based upon a combination of scalars, vectors, and tensors and other node positions.
====Detailed Description====
====Overview====
This module lets the user compute a new scalar, vector, or tensor array. A scalar array is a nx1 matrix, a vector array is a nx3 matrix, and a tensor array is a nx6 or nx9 matrix (A nx6 tensor is defined as xx, xy, xz, yy, yz, zz). These matrices are used to store scalar, vector or tensor data associated with a mesh or field. To compute new scalar, vector or tensor values one has to supply a user-defined function that computes the new values. This function can be either supplied through the GUI or it can be supplied as a string. The module loops through each array element and uses the user-defined function to compute a new value. The output in this case is a function of scalar, vector, or tensor arrays. The function is applied by taking the next element of each array and applying the function to these variables. When the array size of one of the input variables is 1, it is assumed to be a constant value and it is taken each time the module gets a value from that array. The final size of the array is determined by the size of the other input arrays, or by the separate size input port. The latter is supplied in case all inputs are of size one, in which case the module needs a way to determine the size of the output.
====Input elements====
There are several input elements available to compute a new scalar values. A short list is displayed below.
INDEX: The index number, which is the row index. Indexing starts at 0.
SIZE: The size of the of the new array.
A,B,C, ...: Matrices representing either scalar, vector, or tensor arrays. A scalar array is a nx1 matrix with scalar values, a vector array is a nx3 matrix and a tensor array is either a nx6 or nx9 matrix. In case of 6 elements they are stored in the following order: xx,xy,xz,yy,yz, and zz. The number of elements in each array can be either one or the number of scalars in the array. In case only one element is given, it is assumed to be a constant that applies to all data elements. This module allows up to 23 different matrices to be used.
====Output elements====
The output is stored in the variable NEWPOS.
====See Also ====
MODULE REFERENCE MODULE REFERENCE MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateSignedDistanceToField
0
1251
3390
2006-11-01T03:53:47Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateSignedDistanceToField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This function needs an object field that is a volume or a closed surface. When inside the object the distance field is positive, when outside it is negative. The module will fail for not close surfaces as one cannot define inside and outside. Similarly this function will not work for objects that are lines or points. Use the DistanceToField module for these objects.
====Detailed Description====
This function needs an object field that is a volume or a closed surface. When inside the object the distance field is positive, when outside it is negative. The module will fail for not close surfaces as one cannot define inside and outside. Similarly this function will not work for objects that are lines or points. Use the DistanceToField module for these objects.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ClipFieldByFunction
0
1253
3392
2006-11-01T03:53:54Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ClipFieldByFunction'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: CreateField
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module can be used to clip of parts of a mesh, using a function which defines which parts are inside and which parts are outside of the clipping range.
====Detailed Description====
This module can be used to clip of parts of a mesh, using a function which defines which parts are inside and which parts are outside of the clipping range.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ClipFieldByMesh
0
1254
3393
2006-11-01T03:53:58Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ClipFieldByMesh'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: CreateField
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module Clips a field by taking all the elements that are inside the object field.
====Detailed Description====
This module Clips a field by taking all the elements that are inside the object field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ClipFieldBySelectionMask
0
1255
3394
2006-11-01T03:54:04Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ClipFieldBySelectionMask'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: CreateField
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Clip away the section of the mesh that is not selected in the SelectionMask.
====Detailed Description====
Clip away the section of the mesh that is not selected in the SelectionMask. This function accepts both a selection of elements as well a selection of nodes. The module automatically detects whether elements are selected or nodes, depending on the size of the SelectionMask. If the number of elements is equal to the number of nodes, the basis order of the original field will determine hoe the SelectionMask is interpreted. The SelectionMask is a matrix column vector that has zeros for the element/nodes that are not selected and entries with a number not equal to zero for the elements/nodes that are selected. In case nodes are selected all elements are cut away that have not all nodes selected.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CollectFields
0
1256
3395
2006-11-01T03:54:08Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CollectFields'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: CreateField
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Collect the fields that are fed into the module. The field will be added to the output field. The module has a buffer with a first in, first out behavior to keep a history of fields in the buffer.
====Detailed Description====
Collect the fields that are fed into the module. The field will be added to the output field. The module has a buffer with a first in, first out behavior to keep a history of fields in the buffer.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ComputeChangeFieldData
0
1263
3402
2006-11-01T03:54:33Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ComputeChangeFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
====Detailed Description====
====Overview====
====Input elements====
====Output elements====
====See Also ====
MODULE REFERENCE MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertIndicesToFieldData
0
1269
3408
2006-11-01T03:54:56Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertIndicesToFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module takes a field with inidices and puts the data indexed from a matrix in the field.
====Detailed Description====
This module takes a field with inidices and puts the data indexed from a matrix in the field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertIndicesToSelectionMask
0
1270
3409
2006-11-01T03:55:00Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertIndicesToSelectionMask'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: SelectionMask
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This function converts a list of indices into a SelectionMask. The module needs to know the length of the selection mask in order to know what the biggest index is. (This one is not necessarily selected)
====Detailed Description====
This function converts a list of indices into a SelectionMask. The module needs to know the length of the selection mask in order to know what the biggest index is. (This one is not necessarily selected)
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMappingMatrixToFieldData
0
1271
3410
2006-11-01T03:55:04Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertMappingMatrixToFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module puts the index of the original field onto the field.
====Detailed Description====
A mapping amtrix is generated every time the nodes in the mesh are remapped. This module takes the mapping from the original mesh to the new mesh and puts the original node indices onto the data of the new mesh. The input of the module takes the newly created field and its mapping matrix and combines it again so the new field contains the numbers of the indices that refer to the old field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMatricesToDipoleField
0
1272
3411
2006-11-01T03:55:08Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertMatricesToDipoleField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Converter
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module takes a matrix with locations and strengths and converts it into a pointcloud field with vectors.
====Detailed Description====
This module takes a matrix with locations and strengths and converts it into a pointcloud field with vectors.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMatrixToField
0
1273
3412
2006-11-01T03:55:12Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertMatrixToField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Converter
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a Matrix into a ImageMesh.
====Detailed Description====
Convert a Matrix into a ImageMesh. There are two ways of doing the conversion: (1) assuming every value in the matrix is a node value and hence creating a mesh with the values assigned to the nodes, or (2) assuming every value represents an element value. The module assumes a unitary spacing between the rows and colums of the matrix.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMatrixToString
0
1274
3413
2006-11-01T03:55:16Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertMatrixToString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Converter
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ConvertMatrixToString prints the contents of a matrix into a string.
====Detailed Description====
ConvertMatrixToString prints the contents of a matrix into a string. For a dense matrix it outputs all the rows and columns of the matrix. For a sparse matrix only the non zero elements are printed.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMeshToPointCloud
0
1275
3414
2006-11-01T03:55:20Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertMeshToPointCloud'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeMesh
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a field into a PointCloud field.
====Detailed Description====
Convert a field into a PointCloud field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMeshToTetVol
0
1276
3415
2006-11-01T03:55:23Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertMeshToTetVol'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeMesh
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a field into a TetVolField.
====Detailed Description====
Convert a field into a TetVolField. This is a more general implementation of HexToTet.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertMeshToTriSurf
0
1277
3416
2006-11-01T03:55:27Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertMeshToTriSurf'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeMesh
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module converts a field into a TriSurfField.
====Detailed Description====
This module converts a field into a TriSurfField.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertNrrdToField
0
1278
3417
2006-11-01T03:55:31Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertNrrdToField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Converter
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a NRRD into a SCIRun Field object.
====Detailed Description====
Convert a NRRD into a SCIRun Field object.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertSelectionMaskToIndices
0
1279
3418
2006-11-01T03:55:34Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertSelectionMaskToIndices'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: SelectionMask
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This function converts the SelectionMask into a list of all activated elements.
====Detailed Description====
This function converts the SelectionMask into a list of all activated elements.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertTimeToWeightedIndices
0
1280
3419
2006-11-01T03:55:37Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertTimeToWeightedIndices'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Time
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module calculates a weights vector to do a linear interpolation between two time frames.
====Detailed Description====
This module calculates a weights vector to do a linear interpolation between two time frames. This module is intended to convert results of a time adaptive simulation into a linearly interpolated time scale. The module needs as input a vector with the time instances of each frame in the dataset and the selected time. Depending on the actual selected time a matrix with one or two weights describing a linear interpolation between the two nearest time frames is returned. This module serves as input for StreamMatrix to combine multiple computational frames into a linearly interpolate frame.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ConvertToUnstructuredMesh
0
1284
3423
2006-11-01T03:55:52Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertToUnstructuredMesh'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeMesh
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module converts a field with a regular mesh into a field with an unstructured mesh.
====Detailed Description====
This module converts a mesh underlying a field from a representation in which the connectivity of the nodes is based on a regular grid to a representation in which the connectivity is not based on a regular grid. This module can be used for modules that do n ot yet deal with regular meshes.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateDataArray
0
1285
3424
2006-11-01T03:55:57Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateDataArray'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataArrayMath
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
====Detailed Description====
====Overview====
This module lets the user compute a new scalar, vector, or tensor array. A scalar array is a nx1 matrix, a vector array is a nx3 matrix, and a tensor array is a nx6 or nx9 matrix (A nx6 tensor is defined as xx, xy, xz, yy, yz, zz). These matrices are used to store scalar, vector or tensor data associated with a mesh or field. To compute new scalar, vector or tensor values one has to supply a user-defined function that computes the new values. This function can be either supplied through the GUI or it can be supplied as a string. The module loops through each array element and uses the user-defined function to compute a new value. The output in this case is a function of scalar, vector, or tensor arrays. The function is applied by taking the next element of each array and applying the function to these variables. When the array size of one of the input variables is 1, it is assumed to be a constant value and it is taken each time the module gets a value from that array. The final size of the array is determined by the size of the other input arrays, or by the separate size input port. The latter is supplied in case all inputs are of size one, in which case the module needs a way to determine the size of the output.
====Input elements====
There are several input elements available to compute a new scalar values. A short list is displayed below.
INDEX: The index number, which is the row index. Indexing starts at 0.
SIZE: The size of the of the new array.
A,B,C, ...: Matrices representing either scalar, vector, or tensor arrays. A scalar array is a nx1 matrix with scalar values, a vector array is a nx3 matrix and a tensor array is either a nx6 or nx9 matrix. In case of 6 elements they are stored in the following order: xx,xy,xz,yy,yz, and zz. The number of elements in each array can be either one or the number of scalars in the array. In case only one element is given, it is assumed to be a constant that applies to all data elements. This module allows up to 26 different matrices to be used.
====Output elements====
The output is stored in the variable RESULT.
====See Also ====
MODULE REFERENCE MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateDataArrayFromIndices
0
1286
3425
2006-11-01T03:56:01Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateDataArrayFromIndices'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataArrayMath
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module takes the elements of the input array and reorders them according to order specified in the index vector.
====Detailed Description====
====Overview====
This module uses an index vector to reorder the elements of a scalar, vector or tensor array into a new array. The index vector indexes the points to the elements in the input array and creates a new matrix in which the elements are stored in the order which is indicated in the index vector. Index numbering starts at 0.
====See Also ====
MODULE REFERENCE MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateFEDirichletBC
0
1287
3426
2006-11-01T03:56:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateFEDirichletBC'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: FiniteElements
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module creates a Dirichlet boundary condition.
====Detailed Description====
This module creates a Dirichlet boundary condition.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateFieldData
0
1288
3427
2006-11-01T03:56:08Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module creates data for a mesh. The module takes in a field, whose field data is discarded and a new field is generated basis on the same mesh.
====Detailed Description====
====Overview====
This module lets the user compute a new scalar, vector, or tensor array. A scalar array is a nx1 matrix, a vector array is a nx3 matrix, and a tensor array is a nx6 or nx9 matrix (A nx6 tensor is defined as xx, xy, xz, yy, yz, zz). These matrices are used to store scalar, vector or tensor data associated with a mesh or field. To compute new scalar, vector or tensor values one has to supply a user-defined function that computes the new values. This function can be either supplied through the GUI or it can be supplied as a string. The module loops through each array element and uses the user-defined function to compute a new value. The output in this case is a function of scalar, vector, or tensor arrays. The function is applied by taking the next element of each array and applying the function to these variables. When the array size of one of the input variables is 1, it is assumed to be a constant value and it is taken each time the module gets a value from that array. The final size of the array is determined by the size of the other input arrays, or by the separate size input port. The latter is supplied in case all inputs are of size one, in which case the module needs a way to determine the size of the output.
====Input elements====
There are several input elements available to compute a new scalar values. A short list is displayed below.
INDEX: The index number, which is the row index. Indexing starts at 0.
SIZE: The size of the of the new array.
A,B,C, ...: Matrices representing either scalar, vector, or tensor arrays. A scalar array is a nx1 matrix with scalar values, a vector array is a nx3 matrix and a tensor array is either a nx6 or nx9 matrix. In case of 6 elements they are stored in the following order: xx,xy,xz,yy,yz, and zz. The number of elements in each array can be either one or the number of scalars in the array. In case only one element is given, it is assumed to be a constant that applies to all data elements. This module allows up to 26 different matrices to be used.
====Output elements====
The output is stored in the variable RESULT.
====See Also ====
MODULE REFERENCE MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateLinkBetweenMeshAndCompGrid
0
1289
3428
2006-11-01T03:56:14Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateLinkBetweenMeshAndCompGrid'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: FiniteElements
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes how nodes should be merged over the boundary. It calculates the needed ordering in the computational grid.
====Detailed Description====
This module computes how nodes should be merged over the boundary. It calculates the needed ordering in the computational grid. The output matrix GeomToComp maps the geometrical nodes to the computational nodes, the CompToGeom is the opposite mapping.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateLinkBetweenMeshAndCompGridByDomain
0
1290
3429
2006-11-01T03:56:19Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateLinkBetweenMeshAndCompGridByDomain'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: FiniteElements
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes how nodes should be merged over the boundary. It calculates the needed ordering in the computational grid.
====Detailed Description====
This module computes how nodes should be merged over the boundary. It calculates the needed ordering in the computational grid. The output matrix GeomToComp maps the geometrical nodes to the computational nodes, the CompToGeom is the opposite mapping.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateTensorArray
0
1291
3430
2006-11-01T03:56:24Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateTensorArray'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataArrayMath
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module creates a N by 9 matrix describing tensors. The tensors are constructed out of two orthogonal N by 3 arrays describing the eigenvectors for the system and 3 column vectors describing the eigen values.
====Detailed Description====
This module can be used to compute the conductivity tensors of a field, based on the eigen vector decomposition of for instance DTI data. Each of the inputs can be matrix with N rows or with 1 row, in the latter case that value is assumed to be the same for all tensors. The first two inputs are the first two eigen vectors (the third is computed internally using a cross product). These are given as N by 3 arrays, where each row describes a [X,Y,Z] direction vector. The three remaining inputs are the eigen values (or the conductivities ) for the corresponding direction. This can be a scalar value to mark that this value is the same for all or this can be vector with N values, describing an individual value for each tensor. The output is a N by 9 matrix with the tensor entries on the rows of the matrix.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CreateVectorArray
0
1292
3431
2006-11-01T03:56:28Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateVectorArray'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataArrayMath
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module creates a vector out of arrays of scalars.
====Detailed Description====
This module creates a vector out of arrays of scalars.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:DecomposeTensorArrayIntoEigenVectors
0
1298
3437
2006-11-01T03:56:51Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DecomposeTensorArrayIntoEigenVectors'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataArrayMath
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module decomposes the a N by 9 Matrix, representing an array of tensors into three N by 3 matrices which contain the eigen vectors of the system, numbered from the most significant to the least significant and three column vectors representing the three eigen values of the tensor.
====Detailed Description====
This module decomposes the a N by 9 Matrix, representing an array of tensors into three N by 3 matrices which contain the eigen vectors of the system, numbered from the most significant to the least significant and three column vectors representing the three eigen values of the tensor.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:DoSelctionMaskOR
0
1302
3441
2006-11-01T03:57:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DoSelctionMaskOR'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: SelectionMask
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Boolean OR operation on a series of selection masks.
====Detailed Description====
Boolean OR operation on a series of selection masks. All the masks must be of the same size in order for this module to function properly.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:DoSelctionMaskXOR
0
1303
3442
2006-11-01T03:57:09Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DoSelctionMaskXOR'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: SelectionMask
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Exclusive OR operation on two selection masks.
====Detailed Description====
Exclusive OR operation on two selection masks.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:DoSelectionMaskAND
0
1304
3443
2006-11-01T03:57:12Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DoSelectionMaskAND'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: SelectionMask
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Boolean AND operation on a series of selection masks.
====Detailed Description====
Boolean AND operation on a series of selection masks. All the masks must be of the same size in order for this module to function properly.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:DoSelectionMaskNOT
0
1305
3444
2006-11-01T03:57:16Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DoSelectionMaskNOT'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: SelectionMask
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Inverts a selection. Nodes that were not selected get selection and nodes that were selected get deselected.
====Detailed Description====
Inverts a selection. Nodes that were not selected get selection and nodes that were selected get deselected.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:FindClosestNodeIndex
0
1319
3458
2006-11-01T03:58:17Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''FindClosestNodeIndex'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeMesh
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Find an index per point of the closest node in the field.
====Detailed Description====
Find an index per point of the closest node in the field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:FindClosestNodeIndexByValue
0
1320
3459
2006-11-01T03:58:20Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''FindClosestNodeIndexByValue'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeMesh
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Find an index per point of the closest node with given value in the field.
====Detailed Description====
Find an index per point of the closest node with given value in the field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:GenerateSphericalSurface
0
1321
3460
2006-11-01T03:58:23Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GenerateSphericalSurface'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ExampleFields
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module creates an example spherical surface.
====Detailed Description====
This module creates an example spherical surface.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:GetBoundingBox
0
1322
3461
2006-11-01T03:58:27Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetBoundingBox'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeMesh
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module gets the bounding box of a field.
====Detailed Description====
This module gets the bounding box of a field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:GetDomainBoundary
0
1323
3462
2006-11-01T03:58:30Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetDomainBoundary'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: CreateField
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module will extract the inner and outer boundaries from a mesh. An inner boundary is defined as the boundary between different regions with a different value on the elements. The outer boundary is the boundary that surround the mesh.
====Detailed Description====
This module will extract the inner and outer boundaries from a mesh. An inner boundary is defined as the boundary between different regions with a different value on the elements. The outer boundary is the boundary that surround the mesh. In the GUI one can selectively set which boundaries are extracted from the mesh. One can set the range of values on the segmented field for which one wants to extract the boundary separating the different compartments. Within this range of selected domains one can select only the inner boundaries to this selected domain or one can get the boundary surrounding the selected domains.
This module is intended to extract the boundaries in a segmented field. The module is templated and should work on any mesh type as long as the data is assigned to the elements.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:GetFieldBoundary
0
1324
3463
2006-11-01T03:58:33Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetFieldBoundary'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: CreateField
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
A GetFieldBoundary version that works for all fields.
====Detailed Description====
A GetFieldBoundary version that works for all fields.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:GetFieldData
0
1325
3464
2006-11-01T03:58:36Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Get the data from the field and put it into a matrix.
====Detailed Description====
Get the data from the field and put it into a matrix.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:GetMatrixFromFieldProperties
0
1326
3465
2006-11-01T03:58:40Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetMatrixFromFieldProperties'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: FieldProperty
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a matrix property from a field.
====Detailed Description====
This module retrieves a matrix property from a field. The name of the property can be entered in the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:GetStringFromFieldProperties
0
1327
3466
2006-11-01T03:58:43Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetStringFromFieldProperties'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: FieldProperty
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a string property from a field.
====Detailed Description====
This module retrieves a string property from a field. The name of the property can be entered in the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:GetSubMatrix
0
1328
3467
2006-11-01T03:58:47Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetSubMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Math
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Get a submatrix from a matrix by selecting row and column indices.
====Detailed Description====
Get a submatrix from a matrix by selecting row and column indices.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:InsertBundleBreakPoint
0
1334
3473
2006-11-01T03:59:14Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertBundleBreakPoint'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: BreakPoint
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
BreakPoint of Bundle flow. This module will buffer all input when it is blocked and will copy the input to the output when it is unblocked.
====Detailed Description====
BreakPoint of Bundle flow. This module will buffer all input when it is blocked and will copy the input to the output when it is unblocked.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:InsertFieldBreakPoint
0
1335
3474
2006-11-01T03:59:17Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertFieldBreakPoint'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: BreakPoint
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
BreakPoint of Field flow. This module will buffer all input when it is blocked and will copy the input to the output when it is unblocked.
====Detailed Description====
BreakPoint of Field flow. This module will buffer all input when it is blocked and will copy the input to the output when it is unblocked.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:InsertMatrixBreakPoint
0
1336
3475
2006-11-01T03:59:21Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertMatrixBreakPoint'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: BreakPoint
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
BreakPoint of Matrix flow. This module will buffer all input when it is blocked and will copy the input to the output when it is unblocked.
====Detailed Description====
BreakPoint of Matrix flow. This module will buffer all input when it is blocked and will copy the input to the output when it is unblocked.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:InsertMatrixIntoFieldProperties
0
1337
3476
2006-11-01T03:59:25Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertMatrixIntoFieldProperties'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: FieldProperty
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module adds a 'matrix' object as a field property.
====Detailed Description====
This module adds a 'matrix' object as a field property. The module allows three separate matrices to be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:InsertStringBreakPoint
0
1338
3477
2006-11-01T03:59:29Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertStringBreakPoint'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: BreakPoint
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
BreakPoint of String flow. This module will buffer all input when it is blocked and will copy the input to the output when it is unblocked.
====Detailed Description====
BreakPoint of String flow. This module will buffer all input when it is blocked and will copy the input to the output when it is unblocked.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:InsertStringIntoFieldProperties
0
1339
3478
2006-11-01T03:59:33Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertStringIntoFieldProperties'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: FieldProperty
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module adds a 'string' object as a field property.
====Detailed Description====
This module adds a 'string' object as a field property. The module allows three separate strings to be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ManageParameterMatrix
0
1345
3484
2006-11-01T04:00:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ManageParameterMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Script
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module gets a matrix from a ParameterList.
====Detailed Description====
This module gets a matrix from a ParameterList. Use the GUI to select the parameter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ManageParameterString
0
1346
3485
2006-11-01T04:00:11Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ManageParameterString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Script
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module gets a String from a ParameterList.
====Detailed Description====
This module gets a String from a ParameterList. Use the GUI to select the parameter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:MapCurrentDensityOntoField
0
1347
3486
2006-11-01T04:00:16Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MapCurrentDensityOntoField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module maps potentials and conductivities into a current density field. The module samples the underlying fields and averages or integrates the data and puts the result on the elements of the output mesh. The module has the option to do the dot product with the current density field as well for surface destination meshes.
====Detailed Description====
This module maps potentials and conductivities into a current density field. The module samples the underlying fields and averages or integrates the data and puts the result on the elements of the output mesh. The module has the option to do the dot product with the current density field as well for surface destination meshes.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:MapFieldDataFromElemToNode
0
1348
3487
2006-11-01T04:00:21Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MapFieldDataFromElemToNode'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Compute the value of the nodes based on the data from the adjoining elements. This module supports various operations to map element data to node data.
====Detailed Description====
Compute the value of the nodes based on the data from the adjoining elements. This module supports various operations to map element data to node data. Supported methods are: AVERAGE - Compute the average of adjoining elements MIN - Compute the minimum value of adjoining elements MAX - Compute the maximum value of adjoinint elements SUM - Compute the sum of the adjoining elements INTERPOLATE - Compute a weighted average of the adjoining elements
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:MapFieldDataFromNodeToElem
0
1349
3488
2006-11-01T04:00:26Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MapFieldDataFromNodeToElem'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Compute the value of the elements based on the data from the adjoining elements. This module supports various operations to map node data to element data.
====Detailed Description====
Compute the value of the elements based on the data from the adjoining elements. This module supports various operations to map node data to element data. Supported methods are: AVERAGE - Compute the average of adjoining nodes MIN - Compute the minimum value of adjoining nodes MAX - Compute the maximum value of adjoining nodes SUM - Compute the sum of the adjoining nodes INTERPOLATE - Compute a weighted average of the adjoining nodes
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:MapFieldDataGradientOntoField
0
1350
3489
2006-11-01T04:00:30Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MapFieldDataGradientOntoField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module maps the gradient on the destination field.
====Detailed Description====
This module maps the gradient on the destination field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:MapFieldDataOntoFieldNodes
0
1351
3490
2006-11-01T04:00:35Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MapFieldDataOntoFieldNodes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module takes a source field and maps it onto a destiation field. The module projects the data onto the nodes of the destination mesh.
====Detailed Description====
This module takes a source field and maps it onto a destiation field. The module projects the data onto the nodes of the destination mesh.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:MergeFields
0
1360
3499
2006-11-01T04:01:19Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MergeFields'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: CreateField
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
MergeFields glues any number of input fields into one output field.
====Detailed Description====
This module is intended to replace GatherFields and fix a number of problems associate with the old module.
This module takes in an arbitrary number of input fields and gathers them all up into one output field. If the input fields all have the same editable mesh type then the output field will also be of the same type. If the meshes are not editable or of different mesh types then only their points will be gathered up and a single PointCloudField will be produced.
The module has the option to merge nodes together when they are at the same physical location. Often due to numeric round off, they are at a slightly different position. Hence the module allows to set a tolerance which is used to determine whether two nodes are in fact the same. The tolerance is a simple measure in distance that is applied to see whether nodes are the same.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:MergeMeshNodes
0
1361
3500
2006-11-01T04:01:22Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MergeMeshNodes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeMesh
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Merge nodes that are close together and remove double elements.
====Detailed Description====
Merge nodes that are close together and remove double elements.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:MergeMeshes
0
1362
3501
2006-11-01T04:01:26Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MergeMeshes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: CreateField
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
MergeFields glues any number of input fields into one output field.
====Detailed Description====
This module is intended to replace GatherFields and fix a number of problems associate with the old module.
This module takes in an arbitrary number of input fields and gathers them all up into one output field. If the input fields all have the same editable mesh type then the output field will also be of the same type. If the meshes are not editable or of different mesh types then only their points will be gathered up and a single PointCloudField will be produced.
The module has the option to merge nodes together when they are at the same physical location. Often due to numeric round off, they are at a slightly different position. Hence the module allows to set a tolerance which is used to determine whether two nodes are in fact the same. The tolerance is a simple measure in distance that is applied to see whether nodes are the same.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ModalMapping
0
1364
3503
2006-11-01T04:01:33Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ModalMapping'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: FieldsData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module takes a source field and maps it onto a destiation field. The module projects the data onto the elements of the destination mesh.
====Detailed Description====
This module takes a source field and maps it onto a destiation field. The module projects the data onto the elements of the destination mesh.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ParameterList
0
1367
3506
2006-11-01T04:01:44Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ParameterList'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Script
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module allows for creation a bundle with strings, scalars, vectors, and tensors as components. Each component has a name and can be extracte out of the bundle.
====Detailed Description====
This module allows for creation a bundle with strings, scalars, vectors, and tensors as components. Each component has a name and can be extracte out of the bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadBundle
0
1372
3511
2006-11-01T04:02:02Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module reads a bundle from disk.
====Detailed Description====
This module reads a bundle from disk. A bundle file has a .bdl extension and can be written with the BundleWriter module. In a .bdl file every component is stored. Hence it can be used to group a lot of different SCIRun objects together and store it as one file.
The module has an optional filename input port which overrides the filename in the GUI and it also outputs the selected filename. The latter is useful if one wants to annotate the results with the input filename.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadColorMap
0
1373
3512
2006-11-01T04:02:06Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadColorMap'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ColorMap Read a persistent colormap from a file on disk.
====Detailed Description====
A ColorMap maps scalar values to color values. Upon opening, the ReadColorMap GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The current directory defaults to only show files with an .cmap extension which helps the user determine the difference between ColorMaps and other files. However, the ReadColorMap can read-in a file with any extension so long as the data has the correct format. If the user attempts to read-in a file that is other than a SCIRun supported ColorMap, or uses an incorrect file format, an error message appears in the Error frame within the SCIRun enrvironment. Clicking the OK button will load the file and dismiss the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadColorMap2D
0
1374
3513
2006-11-01T04:02:09Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadColorMap2D'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ColorMap2 Read a persistent 2D colormap from a file on disk.
====Detailed Description====
The ColorMap2 Read a persistent 2D colormap from a file on disk.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadField
0
1375
3514
2006-11-01T04:02:12Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ReadField allows the user to load-in any of the SCIRun supported Field types and then sends that Field to another module.
====Detailed Description====
Upon opening, the ReadField GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The current directory defaults to only show files with an .fld extension which helps the user determine the difference between Fields and other files. However, the ReadField can read-in a file with any extension so long as the data has the correct format. If the user attempts to read-in a file that is other than a SCIRun supported Field, or uses an incorrect file format, an error message appears in the Error frame within the SCIRun enrvironment. Clicking the OK button will load the file and dismiss the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadMatrix
0
1376
3515
2006-11-01T04:02:16Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ReadMatrix moudle reads a persistent matrix from a file and sends that matrix to another module.
====Detailed Description====
Upon opening, the The ReadMatrix GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The current directory defaults to only show files with an .mat extension which helps the user determine the difference between matrix files and other files. However, the ReadMatrix can read-in a file with any extension so long as the data has the correct format. If the user attempts to read-in a file that is other than a SCIRun supported Matrix, or uses an incorrect file format, an error message appears in the Error frame within the SCIRun enrvironment. Clicking the OK button will load the file and dismiss the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadPath
0
1377
3516
2006-11-01T04:02:21Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadPath'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ReadPath module reads a persistent camera path from a file.
====Detailed Description====
Upon opening, the The ReadPath GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The current directory defaults to only show files with an .path extension which helps the user determine the difference between Paths and other files. However, the ReadPath can read-in a file with any extension so long as the data has the correct format. If the user attempts to read-in a file that is other than a Path, or uses an incorrect file format, an error message appears in the Error frame within the SCIRun enrvironment. Clicking the OK button will load the file and dismiss the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReadString
0
1378
3517
2006-11-01T04:02:27Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module reads a text file into a string.
====Detailed Description====
This module reads a text file from disk. The file needs to be an ascii text file and does not to be formatted in a special way like all other SCIRun file types.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReorderMatrixByCuthillMcKee
0
1379
3518
2006-11-01T04:02:30Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReorderMatrixByCuthillMcKee'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Math
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module reorders the rows and columns of a square matrix according to the CutHill-McKee scheme in order to reduce the bandwidth of the matrix.
====Detailed Description====
This module reorders the rows and columns of a square matrix according to the CutHill-McKee scheme in order to reduce the bandwith of the matrix. The input for this module is a square matrix and it returns the reordered matrix. The second output is the reordering scheme. If one is solve A*x=b. Vector b needs to be multiplied with the mapping matrix and x needs to be multiplied with the inverse mapping matrix.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReorderMatrixByReverseCuthillMcKee
0
1380
3519
2006-11-01T04:02:34Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReorderMatrixByReverseCuthillMcKee'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Math
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module reorders the rows and columns of a square matrix according to the reverse CutHill-McKee scheme in order to reduce the bandwidth of the matrix.
====Detailed Description====
This module reorders the rows and columns of a square matrix according to the reverse CutHill-McKee scheme in order to reduce the bandwith of the matrix. The input for this module is a square matrix and it returns the reordered matrix. The second output is the reordering scheme. If one is solve A*x=b. Vector b needs to be multiplied with the mapping matrix and x needs to be multiplied with the inverse mapping matrix.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReplicateDataArray
0
1381
3520
2006-11-01T04:02:38Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReplicateDataArray'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataArrayMath
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module takes a ScalarArray, VectorArray or TensorArray and replicates it n-fold.
====Detailed Description====
This module takes a ScalarArray, VectorArray or TensorArray and replicates it n-fold.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportDataArrayInfo
0
1382
3521
2006-11-01T04:02:41Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportDataArrayInfo'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ReportInfo
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Get information on a matrix used as a ScalarArray, VectorArray, or TensorArray.
====Detailed Description====
Get information on a matrix used as a ScalarArray, VectorArray, or TensorArray. The module differs from MatrixInfo in the sense that it reports whether a matrix is a ScalarArray, VectorArray, or TensorArray. The module outputs as well the number of elements in the array.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportDataArrayMeasure
0
1383
3522
2006-11-01T04:02:45Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportDataArrayMeasure'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataArrayMath
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module calculates a measure of the array.
====Detailed Description====
This module calculates a measure of the array. The module currently supports the calculation of the sum, mean, variance, norm, maximum, minimum, std dev, and median.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportFieldDataMeasures
0
1384
3523
2006-11-01T04:02:49Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportFieldDataMeasures'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Calculate Sum, Average, Minimum, Maximum, etc of the field data.
====Detailed Description====
Calculate Sum, Average, Minimum, Maximum, etc of the field data.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportFieldInfo
0
1385
3524
2006-11-01T04:02:54Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportFieldInfo'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ReportInfo
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ReportFieldInfo is used to view the attributes of fields.
====Detailed Description====
ReportFieldInfo is purely an informational Module. It performs no modification on input data. Upon execution it displays attributes about the input field in the UI.
Field Attributes displayed:
Name - The Field name. May be blank.
Generation - The Field internal object id.
Typename - The C++ typename of the input Field Type.
Center - The X,Y,Z coordinates of the average center of the nodes in the Field.
Size - The X,Y,Z coordinates of the grid-aligned bounding box that encloses the Field.
Data min,max - Only valid for scalar type input fields. Prints the respective min and max scalar values of the data associated with the input field.
# Nodes - The number of X,Y,Z points in the input field.
# Elements - The number of highest dimension elements in the input field. Ex. For a PointCloudField this would equal the number of nodes. For a TetVolField this would equal the number of tetrahedral cells in the input field.
Data at - The location of the data values associated with the input field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportMatrixColumnMeasure
0
1386
3525
2006-11-01T04:02:59Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportMatrixColumnMeasure'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Math
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Apply an operator on each column of the matrix.
====Detailed Description====
Apply an operator on each column of the matrix. This module implements the following operations: Sum, Mean, Variance, Median, Maximum, Minimum, and Norm. The output of the module is a vector with the results of these operators applied to each column of the matrix. The output is a matrix with one row and the same number of columns as the input.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportMatrixInfo
0
1387
3526
2006-11-01T04:03:04Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportMatrixInfo'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ReportInfo
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ReportMatrixInfo is used to view the attributes of matrices.
====Detailed Description====
ReportMatrixInfo is purely an informational Module. It performs no modification on input data. Upon execution it displays attributes about the input matrix in the UI.
Matrix Attributes displayed:
Name - The Matrix name. May be blank.
Generation - The Matrix internal object id.
Typename - The C++ typename of the input Matrix Type.
# Rows - The number of rows in the input matrix.
# Columns - The number of columns in the input matrix.
# Elements - The size of the matrix. This is Rows x Columns for non sparse matrices. For sparse matrices this is the number of nonzero elements in the array.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ReportMatrixRowMeasure
0
1388
3527
2006-11-01T04:03:10Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportMatrixRowMeasure'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Math
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Apply an operator on each row of the matrix.
====Detailed Description====
Apply an operator on each row of the matrix. This module implements the following operations: Sum, Mean, Variance, Median, Maximum, Minimum, and Norm. The output of the module is a vector with the results of these operators applied to each row of the matrix. The output is a matrix with one column and the same number of rows as the input.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ResizeMatrix
0
1389
3528
2006-11-01T04:03:14Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ResizeMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: Math
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module resizes a matrix.
====Detailed Description====
This module resizes a matrix. One can specify the new size of the matrix by connecting scalar values to the input or by setting the appropriate values in the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:ScaleFieldMeshAndData
0
1392
3531
2006-11-01T04:03:25Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ScaleFieldMeshAndData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeMesh
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Scale Data and Geometry to match units.
====Detailed Description====
Scale Data and Geometry to match units.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:SelectAndSetChangeFieldData
0
1393
3532
2006-11-01T04:03:28Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SelectAndSetChangeFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
====Detailed Description====
====Overview====
====Input elements====
====Output elements====
====See Also ====
MODULE REFERENCE MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:SelectAndSetFieldData
0
1394
3533
2006-11-01T04:03:33Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SelectAndSetFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
====Detailed Description====
====Overview====
This module lets the user compute a new scalar, vector, or tensor array. A scalar array is a nx1 matrix, a vector array is a nx3 matrix, and a tensor array is a nx6 or nx9 matrix (A nx6 tensor is defined as xx, xy, xz, yy, yz, zz). These matrices are used to store scalar, vector or tensor data associated with a mesh or field. To compute new scalar, vector or tensor values one has to supply a user-defined function that computes the new values. This function can be either supplied through the GUI or it can be supplied as a string. The module loops through each array element and uses the user-defined function to compute a new value. The output in this case is a function of scalar, vector, or tensor arrays. The function is applied by taking the next element of each array and applying the function to these variables. When the array size of one of the input variables is 1, it is assumed to be a constant value and it is taken each time the module gets a value from that array. The final size of the array is determined by the size of the other input arrays, or by the separate size input port. The latter is supplied in case all inputs are of size one, in which case the module needs a way to determine the size of the output.
====Input elements====
There are several input elements available to compute a new scalar values. A short list is displayed below.
INDEX: The index number, which is the row index. Indexing starts at 0.
SIZE: The size of the of the new array.
A,B,C, ...: Matrices representing either scalar, vector, or tensor arrays. A scalar array is a nx1 matrix with scalar values, a vector array is a nx3 matrix and a tensor array is either a nx6 or nx9 matrix. In case of 6 elements they are stored in the following order: xx,xy,xz,yy,yz, and zz. The number of elements in each array can be either one or the number of scalars in the array. In case only one element is given, it is assumed to be a constant that applies to all data elements. This module allows up to 26 different matrices to be used.
====Output elements====
The output is stored in the variable RESULT.
====See Also ====
MODULE REFERENCE MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:SelectByFieldData
0
1396
3535
2006-11-01T04:03:41Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SelectByFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: FieldsData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
====Detailed Description====
====Overview====
This module lets the user compute a new scalar, vector, or tensor array. A scalar array is a nx1 matrix, a vector array is a nx3 matrix, and a tensor array is a nx6 or nx9 matrix (A nx6 tensor is defined as xx, xy, xz, yy, yz, zz). These matrices are used to store scalar, vector or tensor data associated with a mesh or field. To compute new scalar, vector or tensor values one has to supply a user-defined function that computes the new values. This function can be either supplied through the GUI or it can be supplied as a string. The module loops through each array element and uses the user-defined function to compute a new value. The output in this case is a function of scalar, vector, or tensor arrays. The function is applied by taking the next element of each array and applying the function to these variables. When the array size of one of the input variables is 1, it is assumed to be a constant value and it is taken each time the module gets a value from that array. The final size of the array is determined by the size of the other input arrays, or by the separate size input port. The latter is supplied in case all inputs are of size one, in which case the module needs a way to determine the size of the output.
====Input elements====
There are several input elements available to compute a new scalar values. A short list is displayed below.
INDEX: The index number, which is the row index. Indexing starts at 0.
SIZE: The size of the of the new array.
A,B,C, ...: Matrices representing either scalar, vector, or tensor arrays. A scalar array is a nx1 matrix with scalar values, a vector array is a nx3 matrix and a tensor array is either a nx6 or nx9 matrix. In case of 6 elements they are stored in the following order: xx,xy,xz,yy,yz, and zz. The number of elements in each array can be either one or the number of scalars in the array. In case only one element is given, it is assumed to be a constant that applies to all data elements. This module allows up to 26 different matrices to be used.
====Output elements====
The output is stored in the variable RESULT.
====See Also ====
MODULE REFERENCE MODULE REFERENCE MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:SelectByFieldsData
0
1397
3536
2006-11-01T04:03:46Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SelectByFieldsData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: FieldsData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes a new scalar, vector or tensor array based upon a combination of scalars, vectors, and tensors.
====Detailed Description====
====Overview====
This module lets the user compute a new scalar, vector, or tensor array. A scalar array is a nx1 matrix, a vector array is a nx3 matrix, and a tensor array is a nx6 or nx9 matrix (A nx6 tensor is defined as xx, xy, xz, yy, yz, zz). These matrices are used to store scalar, vector or tensor data associated with a mesh or field. To compute new scalar, vector or tensor values one has to supply a user-defined function that computes the new values. This function can be either supplied through the GUI or it can be supplied as a string. The module loops through each array element and uses the user-defined function to compute a new value. The output in this case is a function of scalar, vector, or tensor arrays. The function is applied by taking the next element of each array and applying the function to these variables. When the array size of one of the input variables is 1, it is assumed to be a constant value and it is taken each time the module gets a value from that array. The final size of the array is determined by the size of the other input arrays, or by the separate size input port. The latter is supplied in case all inputs are of size one, in which case the module needs a way to determine the size of the output.
====Input elements====
There are several input elements available to compute a new scalar values. A short list is displayed below.
INDEX: The index number, which is the row index. Indexing starts at 0.
SIZE: The size of the of the new array.
A,B,C, ...: Matrices representing either scalar, vector, or tensor arrays. A scalar array is a nx1 matrix with scalar values, a vector array is a nx3 matrix and a tensor array is either a nx6 or nx9 matrix. In case of 6 elements they are stored in the following order: xx,xy,xz,yy,yz, and zz. The number of elements in each array can be either one or the number of scalars in the array. In case only one element is given, it is assumed to be a constant that applies to all data elements. This module allows up to 26 different matrices to be used.
====Output elements====
The output is stored in the variable RESULT.
====See Also ====
MODULE REFERENCE MODULE REFERENCE MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:SetFieldData
0
1404
3543
2006-11-01T04:04:17Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SetFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Extract data from the matrix and insert it into the field.
====Detailed Description====
Extract data from the matrix and insert it into the field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:SplitAndMergeFieldByDomain
0
1407
3546
2006-11-01T04:04:31Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SplitAndMergeFieldByDomain'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: CreateField
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module uses the data at the elements to split the mesh into segements that all have the same element data.
====Detailed Description====
This module uses the data at the elements to split the mesh into segements that all have the same element data. Where two elements with different values at the elements intersect the nodes are split into two nodes and the elements are unlinked. The result of this module is a field in which all the elements are only linked to elements with the same value.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:SplitFieldByConnectedRegion
0
1408
3547
2006-11-01T04:04:36Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SplitFieldByConnectedRegion'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: CreateField
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module splits a field into a series of fields in which every field contains a segment of the field that was not topologically connected to the other parts of the field.
====Detailed Description====
This module splits a field into a series of fields in which every field contains a segment of the field that was not topologically connected to the other parts of the field. Thos module can for example be used to split a surface separating different domains in a set of surfaces that are not topologically connected. The out of this module is a bundle with the set of fields.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:SplitVectorArrayInXYZ
0
1410
3549
2006-11-01T04:04:45Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SplitVectorArrayInXYZ'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataArrayMath
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Decomposed the vector in the three cartesian coordinates.
====Detailed Description====
Decomposed the vector in the three cartesian coordinates.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:StreamMatrixFromDisk
0
1412
3551
2006-11-01T04:04:53Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''StreamMatrixFromDisk'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataStreaming
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Stream Data from a file on disk without loading the data into memory.
====Detailed Description====
Stream Data from a file on disk without loading the data into memory. This module extracts a one or more vectors from a matrix stored on disk. There are three methods of determining which columns or rows need to be extracted:
(1) One can use the movie buttons in the GUI to set a start and end index and as well the current index. One can automatically step through the different vectors using the buttons in the GUI. The GUI also allows for setting the timing of reloading a new vector. This way one can select only one vector at a time.
(2) One can supply a matrix with the indices of the vectors to extract. This can be one index or can be multiple. The matrix with the indices need to be connected to the 'Indices' input port. The order of the indices is kept when assigning them in the output matrix.
(3) One can supply weights that can are used to extract columns or rows and then sum them together using the assigned weights. When using the weights, one does not need to supply indices. The indices of the rows or columns to be retrieved from disk are the columns in the weights matrix with a weight assigned. To obtain multple weighted outputs, one can assign a weights matrix with multiple rows. Internally in the module, the weights matrix will be translated into a sparse matrix. For optimal performance one should input a sparse matrix. This option is intended for mapping matrices, where one slices a small piece of a large mesh and wants to extract the signals assigned to that part of the mesh.
The module outputs the vector or matrix with the selected columns or rows. The module also outputs the selected indices. This port can be used to slave other StreamMatrixFromDisk modules to read the same indexed data from different data files. The module also output the scaled index, which is the index multiplied with the spacing information stored in the data file. This port can be used to extract the time from the file automatically.
The file with the streaming data needs to be in the uncompressed NRRD format. This format uses a text file to describe a data set distributed over multiple files. See teem.sourceforge.net for a description of the NRRD file format.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:WriteBundle
0
1418
3557
2006-11-01T04:05:23Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WriteBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module writes a bundle to disk.
====Detailed Description====
This module writes a bundle to disk. A bundle file has a .bdl extension and can be written with the WriteBundle module and can be read with the BundleReader module. In a bdl file every component is stored. Hence it can be used to group a lot of different SCIRun objects together and store it as one file.
This module has an optional filename input port which allows to override the name assigned in the GUI. This port is intended to assist with scripting and can be used to automatically assign filenames.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:WriteColorMap
0
1419
3558
2006-11-01T04:05:27Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WriteColorMap'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Save persistent representation of a colormap to a file.
====Detailed Description====
Upon opening, the WriteColorMap GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The user can enter the name of a file that the matrix saves to. The file should have a .cmap extension. The default file name is MyColorMap. The user may choose to save the file in either Binary or ASCII file format.
This module has an optional filename input port which allows to override the name assigned in the GUI. This port is intended to assist with scripting and can be used to automatically assign filenames.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:WriteColorMap2D
0
1420
3559
2006-11-01T04:05:31Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WriteColorMap2D'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Save persistent representation of a colormap to a file.
====Detailed Description====
Save persistent representation of a colormap to a file.
This module has an optional filename input port which allows to override the name assigned in the GUI. This port is intended to assist with scripting and can be used to automatically assign filenames.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:WriteField
0
1421
3560
2006-11-01T04:05:35Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WriteField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Saves persistent field objects received from upstream modules.
====Detailed Description====
Upon opening, the WriteField GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The user can enter the name of a file that the matrix saves to. The file should have a .fld extension. The default file name is MyField. The user may also choose between a Binary or ASCII file format.
This module has an optional filename input port which allows to override the name assigned in the GUI. This port is intended to assist with scripting and can be used to automatically assign filenames.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:WriteMatrix
0
1422
3561
2006-11-01T04:05:40Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WriteMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The WriteMatrix modules saves a persistent representation of a matrix to disk.
====Detailed Description====
Upon opening, the WriteMatrix GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The user can enter the name of a file that the matrix saves to. The file should have a .mat extension. The default file name is MyMatrix. The user may also choose between a Binary or ASCII file format. The Split check box option splits the reader file and matrix data into two files.
This module has an optional filename input port which allows to override the name assigned in the GUI. This port is intended to assist with scripting and can be used to automatically assign filenames.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:WritePath
0
1423
3562
2006-11-01T04:05:44Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WritePath'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The WritePath module saves persistent representation of a path to a file.
====Detailed Description====
Upon opening, the WritePath GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The user can enter the name of a file that the path saves to. The file should have a .path extension. The default file name is MyCameraPath. The user may also choose between a Binary or ASCII file format.
This module has an optional filename input port which allows to override the name assigned in the GUI. This port is intended to assist with scripting and can be used to automatically assign filenames.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:WriteString
0
1424
3563
2006-11-01T04:05:48Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WriteString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module writes a text file with the contents of the string.
====Detailed Description====
This module writes a text file with the contents of the string. The output file will be a plain ASCII file.
This module has an optional filename input port which allows to override the name assigned in the GUI. This port is intended to assist with scripting and can be used to automatically assign filenames.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:ModelCreation|ModelCreation]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CollectMatrices
0
1425
1748
2006-11-01T04:10:51Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''AppendMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Composite a matrix from components.
====Detailed Description====
This module builds up a composited matrix from an optional base matrix and submatrices that get appended to the end (or prepended to the beginning). Using this module, in conjunction with an upstream MODULE REFERENCE module, users can build up time-dependent solution matrices.
The UI has options to allow the user to select:
- whether the matrices are concatenated (or replaced);
- whether ColumnMatrices are added as rows or columns;
- whether the submatrix should be concatenated to the beginning or the end of the base-matrix;
- and a button to clear the current concatenated contents.
Note: this module always produces a DenseMatrix as output.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix
0
1112
1977
1544
2006-11-01T04:10:54Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ApplyMappingMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Apply a mapping matrix to project the data from one field onto the mesh of another field.
====Detailed Description====
This module maps the "Source" field onto the geometry of the "Destination" field using the "Mapping" matrix to do the projection.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix
0
1426
3565
2006-11-01T04:10:57Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''BuildMappingMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: MiscField
:Author(s): Peter-Pike Sloan, David Weinstein, Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
====Detailed Description====
This module builds a mapping matrix which contains information about how to interpolate the data from the source field onto the geometry of the destination field. The resulting mapping matrix can then be used by the MODULE REFERENCE module to map the values from a field similar to the source field onto the destination field.
The source field for BuildMappingMatrix and MODULE REFERENCE must contain the same geometry and data locations. However they do not have to contain the same data values or value types. For instance, a TetVolField of doubles with data at the nodes can be passed into the Source port of BuildMappingMatrix, and a TetVolField of Vectors with data also at the nodes and with the same mesh can be passed into the source port of MODULE REFERENCE.
MODULE REFERENCE should be used instead of BuildMappingMatrix and MODULE REFERENCE if the mapping is not to be reused, as it does the same interpolation without building the intermediate mapping matrix. This should be used if the source field changes much more often than the destination field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals
0
1427
3566
2006-11-01T04:11:01Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''BuildMatrixOfSurfaceNormals'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: MiscField
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
====Detailed Description====
For each node in the input surface mesh, find the attached faces, and average the face normal weighted by area for that node. Output a nx3 DenseMatrix where n is the number of nodes in the input surface mesh. This matrix can be passed to ManageFieldData to map this data back to a Vector Field with the same mesh.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix
0
1428
3567
2006-11-01T04:11:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''BuildNoiseColumnMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Performs the unary matrix operation transpose.
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix
0
1429
3568
2006-11-01T04:11:09Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''BuildPointCloudToLatVolMappingMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: MiscField
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Builds mapping matrix that projects data from a PointCloud to a LatVol
====Detailed Description====
Builds mapping matrix that projects data from a PointCloud to a LatVol
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled
0
1113
1808
1545
2006-11-01T04:11:12Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Perform a specified functional transform on all of the data in a field.
====Detailed Description====
Compute the specified function on each data element in the input field.
The data transform is specified in the GUI as the body of a C++ function. The input values to the function are x, y, z, and v, where x, y, and z are the positions of the data point and v is the value of the input field's data element. No value is returned, rather set the 'result' variable to the return type. For example, "result = x + v;" would return a new field containing the x position of each element added with the value that was already there. "result = v.x();" could be used to extract the x component of a vector field into a scalar field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled2
0
1114
1810
1546
2006-11-01T04:11:15Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateFieldData2'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Perform a specified functional transform to each pair of data elements in the two input fields.
====Detailed Description====
Compute the specified function for each pair of corresponding data elements in the input fields. In order to correspond the data points, this module requires that the two input fields share the same mesh and have their data at the same location.
The data transform is specified in the GUI as the body of a C++ function. The input values to the function are the x, y, and z positions of the data point, v0 for the first field's data element and v1 for the second field's data element. No value is returned, rather set the 'result' variable to the return type. For example, "result = v0 + v1;" would add each of the corresponding elements of the two fields.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled3
0
1115
1811
1547
2006-11-01T04:11:19Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateFieldData3'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Perform a specified functional transform on all of the data in a field.
====Detailed Description====
Compute the specified function for each tripple of corresponding data elements in the input fields. In order to correspond the data points, this module requires that the three input fields share the same mesh and have their data at the same location.
The data transform is specified in the GUI as the body of a C++ function. The input values to the function are the x, y, and z positions of the data point, v0 for the first field's data element, v1 for the second field's data element, and v2 for the third field's data element. No value is returned, rather set the 'result' variable to the return type. For example, "result = v0 + v1 + v3;" would add each of the corresponding elements of the two fields. "result = Vector(v0, v1, v2);" would concatenate the values of three scalar fields into a vector field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients
0
1116
3255
1548
2006-11-01T04:11:23Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateGradients'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Compute the derivative of a scalar field and output it as a vector field.
====Detailed Description====
The CalculateGradients module computes the derivative of a scalar field and converts it to a vector field. The gradient is the derivative of three dimensions; the first component in the X direction, the second component in the Y direction, and the third component in the Z direction grid, computing the general direction of "flow" at a specific point on the geometry.
Not all field types are supported by the CalculateGradients module. At this time only derivatives of TetVolMesh and LatVolMesh are supported. The CalculateGradients module has no GUI. If CalculateGradients recieves as input a Field type it does not support, an error message appears in the Error frame of the SCIRun environment.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes
0
1117
3256
1549
2006-11-01T04:11:26Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateLatVolGradientsAtNodes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Compute the derivative of a scalar lattice and output it as a vector lattice.
====Detailed Description====
The CalculateLatVolGradientsAtNodes module computes the derivative of a scalar field and converts it to a vector field. The gradient is the derivative of three dimensions; the first component in the X direction, the second component in the Y direction, and the third component in the Z direction grid, computing the general direction of "flow" at a specific point on the geometry.
CalculateLatVolGradientsAtNodes only supports computation of the gradient on node centered LatVolFields of scalar type. The CalculateLatVolGradientsAtNodes module has no GUI. If CalculateLatVolGradientsAtNodes recieves as input a Field type it does not support, an error message appears in the Error frame of the SCIRun environment.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals
0
1118
3257
1550
2006-11-01T04:11:30Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateNodeNormals'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Make a new vector field that points to the input point.
====Detailed Description====
This creates a new vector field containing the same geometry and data location as the input field. It works in two modes. If the input PointCloudField contains only one point, all of the vectors in the output field will be attracted to that input point. If the input PointCloudField contains two or more points, the first two points will be used as a line and all the vectors in the output field will be attracted to that line. If the input field contains scalar values, the vectors in the output field will be scaled by those values. Otherwise they will all be normalized.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes
0
1119
3258
1551
2006-11-01T04:11:34Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CalculateVectorMagnitudes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Computes the gradient of a field.
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap
0
1430
3569
2006-11-01T04:11:38Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ChooseColorMap'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
====Detailed Description====
ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.) If the Use first valid colormap option is checked, the module will disregard the port index and iterate over the input ports, passing the first valid data downstream.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField
0
1431
3570
2006-11-01T04:11:42Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ChooseField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: MiscField
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
====Detailed Description====
ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI. If the Use first valid field option is checked, the module will disregard the port index and iterate over the input ports, passing the first valid data downstream.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix
0
1432
3571
2006-11-01T04:11:45Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ChooseMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
====Detailed Description====
ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI. If the Use first valid matrix option is checked, the module will disregard the port index and iterate over the input ports, passing the first valid data downstream.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction
0
1433
3572
2006-11-01T04:11:48Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ClipFieldByFunction'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Select a subset of a field.
====Detailed Description====
The ClipFieldByFunction module clips out a subset of a field. It does so by preserving all of the elements in the input field for which the user specified C++ expression evaluates to true at the specified test location. As a side effect of this algorithm any degenerate non-element items in the input field are discarded by the clip.
The type of the field is preserved in the clip, as well as the data values if possible. Some field types are structured and thus not clippable. This includes the LatVolField, ImageField, and Scanline field types. There is an MODULE REFERENCE module that can be used to convert these fields to appropriately unstructured versions before clipping.
The user function should be a valid C++ expression. It will be dynamically compiled into a function of the form "bool inside_p(double x, double y, double z, TYPE v) { return EXPR; }" where TYPE is the data type contained in the field, and EXPR is the function typed into the GUI.
The geometric location of the test is be specified in addition to the function. The test can be valid if it works at element centers, at one node, or at all of the nodes in each mesh element. If the data location of the clip is different that the location of the data in the field, 'v' will always be 0 for that test (because there is no data there).
For example, "x gt 0" would clip the field to only those elements with positions greater than 0. "y lt 3 || z gt 2.5" would preserve just the elements with y position less than 3 or z position greater than 2.5. "v == 4" would preserve all of the elements that contained a data value of 4. *Note that current simple HTML parser cannot handle greater than or less than symbols, abbreviated them to 'gt' and 'lt'.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget
0
1434
3573
2006-11-01T04:11:51Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ClipFieldToFieldOrWidget'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Select a subset of a field.
====Detailed Description====
The ClipFieldToFieldOrWidget module clips out a subset of a field. It does so by preserving all of the elements in the input field that match the clipping criteria. By default this is every element who's center is within the clipping widget or clipping field. As a side effect of this algorithm any degenerate non-element items in the input field are discarded by the clip.
The module runs in one of two different modes. If a field is connected to the "Clip Field" port, the module will clip the input field such that only those elements inside of the clip field are preserved. If no Clip Field is connected then the GUI widget is used to select which portion of the input field to preserve.
The type of the field is preserved in the clip, as well as the data values if possible. Some field types are structured and thus not clippable. This includes the LatVolField, ImageField, and Scanline field types. There is an MODULE REFERENCE module that can be used to convert these fields to appropriately unstructured versions before clipping.
Functional clipping has been deprecated from this module. Use the new and much faster MODULE REFERENCE module if that is needed.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget
0
1435
3574
2006-11-01T04:11:55Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ClipLatVolByIndicesOrWidget'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Select data from a field.
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices
0
1436
3575
2006-11-01T04:11:58Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ClipRasterFieldByIndices'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): ARSanderson
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
====Detailed Description====
The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
The Field Sub Sample input port is a field that is structured in 3D. This field will be sub sampled in 3D and piped to the output port. The user can sub-sample the grid in all directions via the GUI. The sub-sampling can be performed either of two ways, a sub region can be selected or values can be skipped. A combination of both is also possible.
The "Start Node" defines the first sampling. Because the data is circular in the Theta and Phi directions the ending node is defined as the "Start Node" plus the "Number of Nodes". This allows for overlap in the data. In the case of the Radial direction the number of nodes is limited based on the size of the data. The "Skip Nodes" defines how often the data will be sample between start and end nodes.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue
0
1437
3576
2006-11-01T04:12:02Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ClipVolumeByIsovalue'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Clip a scalar field to a specified isovalue.
====Detailed Description====
The ClipVolumeByIsovalue module is used to clip a TetVol or TriSurf field along a particular isovalue. The isovalue is specified by the entry in the GUI. The new field can contain either the values less than or greater than the isovalue, as selected by the user.
In order to compute where the cuts are to be made, the input field must contain scalar values at the nodes. If the input field contains element centered data then either just use MODULE REFERENCE to determine which elements to keep or interpolate the elements onto a node-centered field.
Only TetVol and TriSurf fields are supported by this general clipping. Other fields should be converted into these types if they are to be clipped. See MODULE REFERENCE, MODULE REFERENCE, and MODULE REFERENCE for an idea of how to do this conversion.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement
0
1438
3577
2006-11-01T04:12:06Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ClipVolumeByIsovalueWithRefinement'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Clip a scalar field to a specified isovalue.
====Detailed Description====
The ClipVolumeByIsovalueWithRefinement module is used to clip a TetVol or TriSurf field along a particular isovalue. The isovalue is specified by the entry in the GUI. The new field can contain either the values less than or greater than the isovalue, as selected by the user.
In order to compute where the cuts are to be made, the input field must contain scalar values at the nodes. If the input field contains element centered data then either just use MODULE REFERENCE to determine which elements to keep or interpolate the elements onto a node-centered field.
Only TetVol and TriSurf fields are supported by this general clipping. Other fields should be converted into these types if they are to be clipped. See MODULE REFERENCE, MODULE REFERENCE, and MODULE REFERENCE for an idea of how to do this conversion.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis
0
1120
3259
1552
2006-11-01T04:12:09Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertFieldBasis'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ConvertFieldBasis can modify the location of data in the input field.
====Detailed Description====
Upon execution the UI will display the input field name and the current location the data values for the that field are located.
The output field's new data value location is selected from a list of available basis types. The output field will contain the same geometry as the input field with the data value storage at the newly specified location. All output data values are reset to 0.
There is currently support for three basis functions within SCIRun. The first is None, meaning that there is no data associated with the field and that no interpolation is supported. The Constant basis is when data is associated with the elements of a field. This data is not interpolated but is constant within each element and non-continuous at element boundaries. The third basis function is Linear. Linear means that the data is associated with the nodes of a field. Any interpolation will be done linearly within elements (but not across element boundaries).
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType
0
1121
3260
1553
2006-11-01T04:12:13Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertFieldDataType'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ConvertFieldDataType is used to change the type of data associated with the field elements.
====Detailed Description====
ConvertFieldDataType allows the user to change the datatype at each field data_at location. This module also attempts to convert the data in the field to the new type, if possible. If no conversion is possible, the output field will contain default zero values. Note that conversion from a large datatype to a smaller datatype usually results in a loss of precision.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture
0
1439
3578
2006-11-01T04:12:16Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertFieldsToTexture'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Kurt Zimmerman, Milan Ikits, Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module builds a 3D Texture for use with an OpenGL volume renderer.
====Detailed Description====
The ConvertFieldsToTexture module is used to create 3D volume textures for use by the MODULE REFERENCE and MODULE REFERENCE modules. The two inputs are a scalar LatVolField and an optional vector LatVolField that are packed into an appropriate texture. Both fields must have the same dimensionality. The Gradient Field input port is used for lighting and ColorMap2 filtering and is only required if those two features are to be used. It can be computed from the scalar field using the MODULE REFERENCE module if needed. See also the MODULE REFERENCE module.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode
0
1122
3261
1554
2006-11-01T04:12:23Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertLatVolDataFromElemToNode'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Make a new field with data at nodes instead of elements.
====Detailed Description====
ConvertLatVolDataFromElemToNode creates a new field with the data at the mesh nodes rather than at the elements. This currently only works on LatVolField, StructHexVolField, ImageField, and StuctQuadSurfField field types. The data must be at cells/faces as appropriate to the field type. A new field is created such that the data remains at the same positions in space but occupy the nodes of the new mesh rather than being located at the cell/face locations. This is the opposite of MODULE REFERENCE.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem
0
1123
3262
1555
2006-11-01T04:12:25Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertLatVolDataFromNodeToElem'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Make a new field with data at elements instead of nodes.
====Detailed Description====
ConvertLatVolDataFromNodeToElem creates a new field with the data at the mesh elements rather than at the nodes. This currently only works on LatVolField and ImageField field types. The data must be at the nodes. A new field is created such that the data remains at the same positions in space but occupy the cell/face centers of the new mesh rather than being located at the node locations. This is the opposite of MODULE REFERENCE.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector
0
1440
3579
2006-11-01T04:12:33Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertMappingMatrixToMaskVector'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Converts a Mapping Matrix to a Mask Vector
====Detailed Description====
Converts a Mapping Matrix to a Mask Vector
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix
0
1441
3580
2006-11-01T04:12:37Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertMaskVectorToMappingMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Converts a Mask Vector to a Mapping Matrix.
====Detailed Description====
Converts a Mask Vector to a Mapping Matrix.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh
0
1442
3581
2006-11-01T04:12:40Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertMatricesToMesh'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Construct a mesh from raw matrix data.
====Detailed Description====
ConvertMatricesToMesh takes in raw position and connnectivity data as matrices and uses them to construct a new mesh. The 'Mesh Positions' data should be an Nx3 matrix where N is the number of points in the mesh and each row contains data in XYZ order. The connectivity data should be an MxP matrix where M is the number of elements in the mesh and P is the number of node references per element. Thus for a TetVolMesh P would be 4. The node references are row indices into the 'Mesh Positions' matrix and are indexed starting at zero.
The output field will contain the new mesh and no data. It is recommended that the MODULE REFERENCE module be used to attach data to the new field. See also MODULE REFERENCE, which can be used to attach new positional data to existing meshes but cannot construct a new mesh nor change it's connectivity information.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType
0
1443
3582
2006-11-01T04:12:50Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertMatrixType'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Casts a matrix
====Detailed Description====
Displays type if the input matrix.
Allows you to let the matrix stay the same and just pass through, or cast it to a ColumnMatrix, DenseMatrix or SparseRowMatrix.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture
0
1444
3583
2006-11-01T04:13:13Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertNrrdsToTexture'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Kurt Zimmerman
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module builds a 3D Texture for use with an OpenGL volume renderer.
====Detailed Description====
The ConvertNrrdsToTexture module is used to create 3D volume textures for use by the MODULE REFERENCE and MODULE REFERENCE modules. The incoming data is bricked up into textures based upon how much video memory is available.
There are two input ports to this module. The first one can contain a Nrrd in one of two formats. Either it should contain a 3 dimensional nrrd of scalar values or it should contain a 4 dimensional nrrd where the fastest axis is a quadruple of the scalar values and the normal(gradient) associated with the data at that point. The second port is optional and should contain the gradient magnitude of the gradients in the first port. It is only required if normals are present in first nrrd and the data is to be viewed using ColorMap2 transfer functions.
Both input nrrds must already be of type UNSIGNED CHARACTER and can be converted to that type using the MODULE REFERENCE module.
See also the MODULE REFERENCE module.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds
0
1445
3584
2006-11-01T04:13:28Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CoregisterPointClouds'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: MiscField
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
CoregisterPointClouds the first three points of two PointCloudFields.
====Detailed Description====
CoregisterPointClouds the first three points of two PointCloudFields.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath
0
1446
3585
2006-11-01T04:13:32Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateAndEditCameraPath'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Render
:Author(s): Alexei Samsonov
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
====Detailed Description====
CreateAndEditCameraPath module provides a set of interactive tools for creation and manipulation of camera path in Viewer. The basic features of the modules are as follows:
- Interactive adding/inserting/deleting of key frames of current camera position in edited path
- Navigation through existing key frames
- Three interpolation modes - Linear, Cubic and no interpolation (key frames only playback)
- Two acceleration modes - smooth start/end(in interpolated mode) and no acceleration
- Path step(smoothness) and sampling rate specification for current path
- Automatic generation of circle path based on current camera position and position of reference widget
- Looped and reversed path modes
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap
0
1447
3586
2006-11-01T04:13:35Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateAndEditColorMap'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Unknown
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Modify and create custom SCIRun ColorMaps.
====Detailed Description====
A simple interactive editor for SCIRun ColorMaps.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D
0
1448
3587
2006-11-01T04:13:39Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateAndEditColorMap2D'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Milan Ikits, Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
====Detailed Description====
CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization. These are two dimensional colormaps where the horizontal axis represents the scalar values of the data and the vertical axis represents the gradient magnitude. For example a narrow vertical bar that cuts across the colormap selects all the elements in the data with that value and results in an approximate isosurface (it's not quite a surface as it has volume depending upon the narrowness of the band). A vertical bar would represent a particular rate of change within the volume and could be used to highlight boundaries between objects or areas of high flow.
The ColorMap2 is painted by dragging various widgets around to cover the points of interest in the data. In addition an optional ColorMap2 can be generated elsewhere (See MODULE REFERENCE and MODULE REFERENCE and passed into the appropriate input port. The second Histogram port is also optional and should contain a join histogram of the scalar values and gradient magnitudes. It should be a 512x256 grayscale image (and must contain unsigned character data) that is displayed in the background of the ColorMap2 for reference purposes.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform
0
1449
3588
2006-11-01T04:13:43Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateGeometricTransform'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Build a 4x4 geometric transformation matrix.
====Detailed Description====
Build the transformation matrix by specifying options in respect to Translate, Scale, Rotate, Sheer and Permute.
If the second input (SCIRun::Field) is input, its bounding box is used to init the transform
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage
0
1450
3589
2006-11-01T04:13:46Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateImage'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Make an ImageField that fits the source field.
====Detailed Description====
Make an ImageField that fits the source field. The value type of the ImageField is similar to that of the input field. If there is no input field specified, then create a unit area of doubles. The size parameters refer to the number of nodes in the volume, not the number of faces. Thus a 2x2x2 node image will only contain one facet.
The Pad Percentage parameter is an optional parameter that describes how much larger than the input field the resulting image area should be. For example, a value of 100 would make the image field be three times as far across and contain nine times the area of an image with the default 0 padding. A value of 50 would cause the image to be twice as far across (50% bigger on each side).
No interpolation is done onto the new field. It is recommended that the MODULE REFERENCE module be used if those values are needed.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol
0
1451
3590
2006-11-01T04:13:49Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateLatVol'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Make a LatVolField that fits the source field.
====Detailed Description====
Make a LatVolField that fits the source field. The value type of the LatVolField is the same as that of the input field. If there is no input field specified, then create a unit volume of doubles. The size parameters refer to the number of nodes in the volume, not the number of cells. Thus a 2x2x2 node lattice will only contain one cell.
The Pad Percentage parameter is an optional parameter that describes how much larger than the input field the resulting lattice volume should be. For example, a value of 100 would make the lattice volume be three times as far across and contain twenty seven times the volume of a lattice with the default 0 padding. A value of 50 would cause the lattice to be twice as far across (50% bigger on each side).
No interpolation is done onto the new field. It is recommended that the MODULE REFERENCE module be used if those values are needed.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer
0
1452
3591
2006-11-01T04:13:53Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateLightForViewer'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): ?
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
?
====Detailed Description====
?
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix
0
1453
3592
2006-11-01T04:13:56Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module lets the user create a small dense matrix manually.
====Detailed Description====
This module lets the user create a small dense matrix manually. In the gui one can type the contents of an arbitrarily sized matrix. First set the dimensions of the matrix and then type its contents.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps
0
1454
3593
2006-11-01T04:13:59Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateStandardColorMaps'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Kurt Zimmerman
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
A module that generates fixed Colormaps for visualization tools.
====Detailed Description====
This module is used to create some "standard" non-editable colormaps in Dataflow/Uintah. Non-editable simply means that the colors cannot be interactively manipulated. The Module does, allow for the the resolution of the colormaps to be changed. This class sets up the data structures for Colormaps and creates a module from which the user can choose from several popular colormaps. By clicking in the Color band the user manipulate the transparency of the color. This is useful, for example, when volume rendering, though many visualization tools ignore the transparency data.
Most of the important work for this module is performed in the CreateStandardColorMaps.tcl file. There you can easily add new colormaps by making the obvious changes to the buildColorMaps function and the ui function (where the make_labeled_radio buttons are created). The C++ code merely queries the tcl code and fills the Colormap.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString
0
1455
1689
2006-11-01T04:14:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module can be used to create a string.
====Detailed Description====
This module allows the user to create a string by typing its contents into an edit box in the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex
0
1456
3595
2006-11-01T04:14:08Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateStructHex'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Make a StructHexVolField that fits the source field.
====Detailed Description====
Make a StructHexVolField that fits the source field. The value type of the LatVolField is the same as that of the input field. If there is no input field specified, then create a unit volume of doubles. The size parameters refer to the number of nodes in the volume, not the number of cells. Thus a 2x2x2 node lattice will only contain one cell.
The Pad Percentage parameter is an optional parameter that describes how much larger than the input field the resulting lattice volume should be. For example, a value of 100 would make the lattice volume be three times as far across and contain twenty seven times the volume of a lattice with the default 0 padding. A value of 50 would cause the lattice to be twice as far across (50% bigger on each side).
No interpolation is done onto the new field. It is recommended that the MODULE REFERENCE module be used if those values are needed.
The default appearance of this field is not much different than that produced by the MODULE REFERENCE. However the points can be moved independently of each other such that primitive modeling can be done in conjunction with the MODULE REFERENCE module. See the CreateStructHex.net sample network for an example.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes
0
1457
3596
2006-11-01T04:14:12Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateViewerAxes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Generates Axes Geometry for rendering graphs.
====Detailed Description====
Generates Axes Geometry for rendering graphs.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption
0
1458
3597
2006-11-01T04:14:17Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateViewerCaption'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Allen R. Sanderson
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Generates a title for rendering animations.
====Detailed Description====
This module adds a title to the view. It is most useful when rendering animations. It has a single input which is matrix containing one value. The output is geometry.
The title style sets the border and color. If a value is displayed the format can be set using a C style format.
The title size sets size.
The title location set the location to be in one of the viewer corners.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon
0
1459
3598
2006-11-01T04:14:21Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateViewerClockIcon'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Allen R. Sanderson
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Generates a clock for rendering animations.
====Detailed Description====
This module adds a clock to the view. It is most useful when rendering animations. It has a single input which is matrix containing one value, the time. The output is geometry.
The clock type may be either a digital or analog. When creating an analog clock it is possible to also display the time digitally.
The clock style sets the border and color. If the time is displayed digitally the format can be set using a C style format.
The clock range sets beginning and end time for an analog clock.
The clock size sets size.
The clock location set the location to be in one of the viewer corners.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary
0
1460
3599
2006-11-01T04:14:27Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''EvaluateLinAlgBinary'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Performs one of a number of selectable matrix operations using the two input matrices.
====Detailed Description====
One of a number of binary matrix operations can be selected from the GUI and is then applied to the two input matrices to produce a new matrix that is then sent to the output port. The operations are X, +, Normalize, Select Rows, Select Columns, or Function.
"A X B" does a matrix multiply of the two matrices. The number of rows in the first matrix must match the number of columns in the second matrix. The output matrix has the same number of columns as the first matrix and the same number of rows as the second.
"A + B" performs a matrix addition. The two input matrices must be the same size. The elements are added in a piecewise fashion. This is equivalent to selecting "Function" and using 'x+y' as the function description
"Normalize A to B" computes the min and max values of the second matrix, and then linearly transforms all of the elements in the first matrix so that they fall within the range of those min and max values.
"Select Rows" uses the values in the B input matrix as row indices to extract from the A input matrix. The B input matrix must be a Column Matrix containing valid row index values into the A matrix. For example, if the B matrix contains [3 5] and the A matrix is 100x200, then the resulting matrix will be 2x200 and contain rows 3 and 5 from the A matrix.
"Select Columns" uses the values in the B input matrix as column indices to extract from the A input matrix. The B input matrix must be a ColumnMatrix containing the valid column index values into the A matrix. For example, if the B matrix contained [3 5] and the A matrix is 100x200, then the resulting matrix will be 100x2 and contain columns 3 and 5 from the A matrix.
"Function" allows an arbitrary function of two variables to be evaluated for each number pair in the two input matrices. This requires that the two matrices are the same size. The variable representing the element from the A matrix is 'x', and the variable for the element from the B matrix is 'y'. The function is specified using SCIRun's simple function parser. There are a number of mathematical functions available for use. They are:
+: Add two numbers. Example: 4+3 = 7
-: Subtract one number from another. Example: 4-3 = 1
*: Multiply two numbers. Example: 4*3 = 12
/: Divide one number from another. Example: 12/3 = 4
sin: Sine of a number in radians. Example: sin(x)
cos: Cosine of a number in radians. Example: cos(x)
sqrt: Square root of a number. Example: sqrt(4) = 2
sqr: Square of a number. Example: sqr(2) = 4, sqrt(sqr(x)) = x
ln: Natural logarithm of a number. Example: ln(x)
exp: e raised to the nth power. Example: exp(ln(x)) = x
log: Log base 10 of a number. Example: log(100) = 2
abs: Absolute value of a number. Example: abs(-3) = 3
pow: One number raised to the power of another. Example: pow(3, 2) = 9
random: Return a uniform random number between 0 and 1. Example: random()
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral
0
1461
3600
2006-11-01T04:14:31Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''EvaluateLinAlgGeneral'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Do some linear algebra on input matrices.
====Detailed Description====
The EvaluateLinAlgGeneral module allows the user to input C++ code linear algebra expressions and then have them dynamically compiled and executed.
The input variables are all of MatrixHandle type and are represented by the variables i1, i2, i3, i4, and i5 correlating with which input ports they are connected to. The output variables are MatrixHandle references and are labeled o1, o2, o3, o4, and o5.
The supported matrix operations can be found in src/Core/Datatypes/MatrixOperations.h, and are basically addition and multiplication.
For example, the default "o1 = i1 * i2;" function would multiply the first two input matrices and put the result on the first output port. "o2 = i1 * 3;" would multiply all of the values in the first input port and put the resulting matrix on the second output port. If you used both lines it would do both.
The various SCIRun Matrix headers are also included in addition to MatrixOperations.h. So for example "o1 = scinew DenseMatrix(10, 20);" could be used to return a blank 10x20 dense matrix on the first output port. It is also possible to write loops over the various matrix elements, etc.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary
0
1462
3601
2006-11-01T04:14:35Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''EvaluateLinAlgUnary'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Performs one of a number of selectable unary matrix operations to the input matrix.
====Detailed Description====
One of a number of unary matrix operations can be selected from the GUI and is then applied either to the whole matrix or to each element in the matrix, depending upon which operation is selected. The operations are Round, Ceil, Floor, Normalize, Transpose, Sort, Subtract Mean, or Function.
Round, Ceil, and Floor are used to convert each element in the input matrix into an integer value.
Normalize linearly transforms each element such that they all end up between 0 and 1.
Transpose constructs a new transpose matrix containing the same elements as the input matrix. For example, if the input matrix was of size 4x20, the output matrix will be of size 20x4.
Sort does an insertion sort on the elements of the input matrix. The elements will be sorted such that the smallest element will be at the top of the matrix and the largest element will be at the end. If the matrix is not a row or column matrix, the matrix is sorted in a row-scanline order. For example, in a 2x30 matrix, the first row would contain the lower half of the values and the second row would contain the upper half.
Subract Mean computes the mean value of the matrix, and then subtracts that value from each element in the matrix.
Function allows an arbitrary function to be evaluated for each element in the matrix. The current value is represented as the variable 'x'. For instance, the default 'x+10' function adds 10 to each element in the matrix. A function of just '10' would set each element in the matrix to be 10. The function is specified using SCIRun's simple function parser. There are a number of mathematical functions available for use. They are:
+: Add two numbers. Example: 4+3 = 7
-: Subtract one number from another. Example: 4-3 = 1
*: Multiply two numbers. Example: 4*3 = 12
/: Divide one number from another. Example: 12/3 = 4
sin: Sine of a number in radians. Example: sin(x)
cos: Cosine of a number in radians. Example: cos(x)
sqrt: Square root of a number. Example: sqrt(4) = 2
sqr: Square of a number. Example: sqr(2) = 4, sqrt(sqr(x)) = x
ln: Natural logarithm of a number. Example: ln(x)
exp: e raised to the nth power. Example: exp(ln(x)) = x
log: Log base 10 of a number. Example: log(100) = 2
abs: Absolute value of a number. Example: abs(-3) = 3
pow: One number raised to the power of another. Example: pow(3, 2) = 9
random: Return a uniform random number between 0 and 1. Example: random()
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface
0
1463
3602
2006-11-01T04:14:38Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ExtractIsosurface'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Yarden Livnat
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ExtractIsosurface extracts an isopotential surface from a scalar field.
====Detailed Description====
The ExtractIsosurface module is used to extract one or more isopotential surfaces from a scalar field. The isopotential surfaces are surfaces for which the scalar value would interpolate to a constant isovalue. The isovalues can be specified in one of several ways.
Isovalues can be passed into the field in the 'Optional Isovalues' port. A surface will be created for each value in that matrix. The ExtractIsosurface-probe.net example network demonstrates using the MODULE REFERENCE and MODULE REFERENCE modules to interactively select the isosurface with a probe using this port.
Slider allows the user to select one isovalue using a slider bar or to type in one isovalue manually. The slider bar ranges from the minimum and maximum values of the input field. This can be used with great effect to interactively move the isosurface around when the Update: Auto option is specified.
Quantity allows for the selection of several regularly spaced isosurfaces. This is particularly useful for isocontouring as it gives a contour-map effect for where the isosurfaces would be located.
List allows the user to type in an arbitrary list of isovalues to be used. The numbers should be space separated. In addition to hard numbers, percentages relative to the field minimum and maximum may be specified as well. For instance, '50%' would specify the isovalue in the center of the min-max range, whereas '50.0' would isosurface at a value of 50.0.
This module supports several other options. The Update: options are On Release, Manual and Auto. On Release will not re-execute the module until the user releases the Iso Value scroll bar. If the user selects the Manual option, the module will not re-execute until they press the Execute button. The Auto option re-executes the module every time the Iso Value scroll bar moves. If the user selects the Auto Extract from New Field option and a new Field comes in, the module completely re-executes, calculating a new ExtractIsosurface. The Build Output Field determines whether or not a surface field is created. If it is turned off then only the Geometry output port will contain anything. If there is no ColorMap present then the Default Color is used for the output geometry.
The ExtractIsosurface can be computed using either the Marching Cubes or NOISE method. Marching cubes requires each element in the field to be examined for those containing the isovalues used to extrac the isosurface. NOISE builds a search structure and then uses that to construct the isosurface.
The Marching Cubes method examines the isopotential at the corners of every element within the input field to compute where the isosurface should be located. This operation may be parallelized, and allows the user to specify how many threads are used to do the computation. This is a good choice if examining only a few isovalues.
NOISE builds a search structure for the field, and then uses that stucture to more quickly compute isosurfaces. This search structure takes longer to create than extracting one Marching Cubes surface, however once the structure is built NOISE can extract subsequent surfaces more quickly. This is a good choice if multiple isosurfaces are to be computed for each field, and can offer better interactive performance than Marching Cubes. Only one thread is used for this method.
As of September 2002, this module can manage scalar fields of the following geometry type: LatVolField, StructHexVolField, TetVolField,HexVolField, TriSurfField, QuadSurfField and ImageField. Isocontours are generated for the surface input fields, and ExtractIsosurfaces are generated for the volume input fields.
As of Febuary 2003, this module can handle scalar fields that contain cell-centered data. If the data is located at the cells, then the surfaces are created along the appropriate cell faces rather than using interpolated values from the nodes.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:BuildNrrdGradients
0
1464
3603
2006-11-01T04:14:41Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''BuildNrrdGradients'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Misc
:Author(s): Dave Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Compute the 3D gradient.
====Detailed Description====
Compute the 3D gradient.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField
0
1465
3604
2006-11-01T04:14:42Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ExtractPlanarSliceFromField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): ARSanderson
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
====Detailed Description====
The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
The Arbitrary Field Slicer input port is a field that has any topology. The field will be sliced and piped to the output port.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:BuildTextureWithGradientsFromNrrds
0
1466
3605
2006-11-01T04:14:46Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''BuildTextureWithGradientsFromNrrds'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Misc
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Set up a volume texture from a 3D scalar nrrd.
====Detailed Description====
Efficiently compute the inputs to NrrdTextureBuilder. The first output port will contain a 4D nrrd where the fast dimension contains normals and values packed together (normal refers to the gradient.) The second output will contain the gradient magnitudes. The first output will be of type unsigned character as expected by NrrdTextureBuilder. The gradient magnitude field is of type float and should be run through UnuQuantize.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField
0
1467
3606
2006-11-01T04:14:46Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GeneratePointSamplesFromField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Robert Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Place seed points in a field.
====Detailed Description====
Place seed points in a field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:ChooseNrrd
0
1468
3607
2006-11-01T04:14:50Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ChooseNrrd'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Misc
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ChooseNrrd takes in an arbitrary number of input Nrrds, and pass one of them downstream, based on the port index typed in the UI.
====Detailed Description====
ChooseNrrd takes in an arbitrary number of input Nrrds, and pass one of them downstream, based on the port index typed in the UI. If the Use first valid nrrd option is checked, the module will disregard the port index and iterate over the input ports, passing the first valid data downstream.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget
0
1469
3608
2006-11-01T04:14:51Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GeneratePointSamplesFromFieldOrWidget'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Chris Moulding
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
====Detailed Description====
GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field. The samples can be generated randomly or user selected via a 3D widget.
The random sampling can be weighted by importance (determined by the data value of the sample) or left unweighted. The random sampling can also be limited to the selection of node points, rather than points from the interior of the fields elements, by clamping the samples to nodes.
The "uniform" distributions are a uniformly random function over the spacial extents of the field (i.e. the elements are weighted by their volume or area), whereas the "scattered" distributions are a uniformly random function over the elements only (i.e. all elements have the same weight). The "importance weighted" distributions multiply the existing weight of a sample by the interpolated data value associated with it, while the "not weighted" distributions leave the existing weight of a sample unchanged.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:ClassifyHeadTissuesFromMultiMRI
0
1470
3609
2006-11-01T04:14:55Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ClassifyHeadTissuesFromMultiMRI'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Misc
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Tolga Tasdizen's MRI Tissue Classifier Code.
====Detailed Description====
Tolga Tasdizen's MRI Tissue Classifier Code
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField
0
1471
3610
2006-11-01T04:14:55Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GenerateSinglePointProbeFromField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
GenerateSinglePointProbeFromField values in a field.
====Detailed Description====
A GUI Point widget is created and can be moved around in the scene. The GenerateSinglePointProbeFromField Point port contains a PointCloudField field with one point in it at the location of the probe. The value at that point is interpolated from the input field. The input field is also used to determine the initial position and relative size of the probe widget. If there is no input field, a default zero valued probe is returned.
The Element Index matrix contains the Index of the item with data that is nearest the cell. A possible use would be to feed the index into MODULE REFERENCE to get out a time-dependent sequence associated with that element. No matrix is sent if there is not an input field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:ConvertColorMap2ToNrrd
0
1472
3611
2006-11-01T04:15:00Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertColorMap2ToNrrd'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Converters
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a ColorMap2 into a 256x512x4 floating point image nrrd.
====Detailed Description====
Convert a ColorMap2 into a 256x512x4 floating point image nrrd.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines
0
1473
3612
2006-11-01T04:15:00Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GenerateStreamLines'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Chris Moulding, Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
====Detailed Description====
The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
The Vector Field input port is the vector field on which the path intergration of the seed points will be performed. This may be a vector field with any volume geometry type. Surfaces and lower order fields do not currently work due to numerical error. The second input port, Seeds, contains the initial values for which the vector will be computed. This may be a field of any type, as just the node positions are used. Seeds which are not contained within the vector field are just discarded. The module requires use of both field inputs in order to execute.
The GenerateStreamLines module has one output, Streamlines, a CurveMesh, representing a collection of stream lines computed for the Vector field given the set of initial seed points.
This module uses one of several similar numeric integration methods. They are taken directly from Numerical Analysis by David Kincaid and Ward Cheney, c1991. Adams-Bashforth is a Multi-Step method that offers the fastest performance by reusing existing samples when possible. It presents some interesting artifacts on discontinuous models such that it is easy to visualize where those discontinuities take place. Heun is a second order Runge-Kutta solver, and is sufficient for most smoothly varying fields, such as linearly interpolated gradient fields over volume elements. Classic 4th Order Runge-Kutta is presented for reference and provides excellent results in general. Adaptive Runge-Kutta-Fehlberg is a 5/6 order solver which provides the best overall results at the cost of more computation time. It is also the only adaptive method, meaning the step size of the algorithm is adjusted dynamically as the stream moves through the vector field.
All of the computation methods are similar in that they take a step, (based upon the Step Size indicated) examine the derivative at that point, and then procede in that new direction. Adaptive Runge-Kutta-Fehlberg also determines if a stepsize correction is necessary. This determination is based upon the Error Tolerance value.
The GenerateStreamLines GUI includes text fields for Error Tolerance, Step Size, and Maximum Steps. The Error Tolerance text field represents the margin of error when doing an adaptive calculation of the stream lines. Maximum Steps represents the maximum number of iterations.
The user can specify whether streamlines are computed in negative and/or, positive directions by changing the Direction radio buttons. The Color Style options are based on either the seed number, integration step, distance from the seed, or the total distance, which will affect how values are attached to the output field. By selecting seed number, the output field will range from zero to the number of seed points so that every stream line has exactly one value. The integration step option changes the value of output field such that they start at zero where the seed point is at and go up by one for each integration step away in either direction. The distance from seed is similar to the integration step but based on the cord length distance from the seed. Whereas the total length is based on the total cord length from the seed point.
The Filter Colinear Points check box is a postprocess on the streams. It passes over the streams and removes all points that are too close together, as well as points that are colinear. It is useful for rendering the streamlines as it greatly simplifies them while retaining their visual appearance.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:ConvertColorMapToNrrd
0
1474
3613
2006-11-01T04:15:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertColorMapToNrrd'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Converters
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a SCIRun ColorMap to a Nrrd.
====Detailed Description====
Convert a SCIRun ColorMap to a Nrrd in the format 4xN.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic
0
1475
3614
2006-11-01T04:15:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GenerateStreamLinesWithPlacementHeuristic'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Frank B. Sachse, Elisha Hughes
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Generate optimal stream lines
====Detailed Description====
The GenerateStreamLinesWithPlacementHeuristic module finds optimal streamlines by comparison between a source field and a rendered steamlines image.
GenerateStreamLinesWithPlacementHeuristic takes five fields as input:
(1) Source, contains a field into which is rendered during processing. By default random seed points are chosen from the underlying mesh.
(2) Weighting, contains information about the weighting of render operations. Commonly, the magnitude of the flow field is used as input.
(3) Flow, describes the vector field, necessary for generation of streamlines.
(4) Compare, describes the data, which should be reconstructed by the streamlines. Commonly, the magnitude of the flow field is used as input.
(5) Seed points (optional), selects seed points from the underlying mesh.
GenerateStreamLinesWithPlacementHeuristic outputs the optimal streamlines as CurveMesh field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:ConvertMatrixToNrrd
0
1476
3615
2006-11-01T04:15:09Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertMatrixToNrrd'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Converters
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a SCIRun Matrix to a single Nrrd in the case of a Dense or Column Matrix or convert a Sparse Row Matrix to three Nrrds (Data, Rows, and Columns).
====Detailed Description====
Convert a SCIRun Matrix to a single Nrrd in the case of a Dense or Column Matrix or convert a Sparse Row Matrix to three Nrrds (Data, Rows, and Columns).
If the input Matrix is a Column Matrix, the module will produe a 1D Nrrd of doubles containing the data.
If the input Matrix is a Dense matrix, the module will produce a 2D Nrrd of Doubles.
If the input Matrix is a Sparse Row Matrix, the module will produce three Nrrds. The first output port contains the Data as a 1D Nrrd representing the non-zero entries in the Sparse Row Matrix. The second output will contain the Rows Nrrd which is the row accumulation buffer containing R+1 entries where R is the number of rows and Rows[N+1]-Rows[N] is the number of non-zero entries in row N. The last output will be the Columns Nrrd containing the column number for each non-zero data entry.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh
0
1477
3616
2006-11-01T04:15:15Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetCentroidsFromMesh'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Computes a PointCloudField containing all of the element centers for a field.
====Detailed Description====
The Centriods module computes a PointCloudField containing all of the element centers for a field. For instance, if the input field is a TetVolField then the output field would contain the center of each tetrahedra. An input PointCloudField would return the same data locations.
The output field is always a PointCloudField of doubles, and contains no data. If data is needed at the points then an interpolation module should be used to recover them.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:ConvertNrrdToColorMap2
0
1478
3617
2006-11-01T04:15:15Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertNrrdToColorMap2'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Converters
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Load an Image and output it as a ColorMap2
====Detailed Description====
The input nrrd must be and rgba image that is 512 x 256, so a 3 dimensional nrrd that is 4 x 512 x 256
Typically this is used to create a precise image to texture your volume vis with. The inputs to EditTransferFunc2 take a ColorMap2 and a nrrd. That nrrd is a 2d histogram, which can be saved and converted to an image readable by 3rd party painting programs. You can then paint the areas of the image as you wish, and convert it back to a nrrd, then feed it to this module to send downstream as a ColorMap2.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle
0
1479
1661
2006-11-01T04:15:19Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetColorMap2sFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a 'colormap2' object from a bundle.
====Detailed Description====
This module retrieves a 'colormap2' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'colormap2' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:ConvertNrrdToMatrix
0
1480
3619
2006-11-01T04:15:20Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertNrrdToMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Converters
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a combination of Nrrds to a SCIRun Matrix of type Column, Dense or Sparse.
====Detailed Description====
Convert a combination of Nrrds to a SCIRun Matrix of type Column, Dense or Sparse.
To create a ColumnMatrix, the first port, or the Data port, should be the only one connected. For a column matrix, the Nrrd should be a 1D Nrrd.
To create a Dense Matrix, a 2D Nrrd should be passed into the Data port.
To create a SparseRow Matrix, the module needs Data, Rows, and Columns.
The Data Nrrd should be a 1D Nrrd containing the non-zero entries. Its size will be referred to as NNZ (number of non-zeros).
The Rows Nrrd is the row accumulation buffer containing R+1 entries where R is the number of rows and Rows[N+1]-Rows[N] is the number of non-zero entries in row N.
The Columns Nrrd should be a 1D Nrrd with size NNZ as well. The Columns Nrrd contains the column number for each non-zero data entry. It should be sorted by row/col order and correspond with the spaces in the Rows Nrrd.
The number of columns can be specified in the UI by clicking the Columns (for Sparse Row Matrix) radiobutton and entering the number of columns. If the Auto radiobutton is selected, the module will attempt to determine the number of columns based on the largest entry of the Columns Nrrd.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle
0
1097
1666
1556
2006-11-01T04:15:25Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetColorMapsFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a 'colormap' object from a bundle.
====Detailed Description====
This module retrieves a 'colormap' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'colormap' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:ConvertNrrdToRasterField
0
1481
3620
2006-11-01T04:15:25Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertNrrdToRasterField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Converters
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a combination of Nrrds to a SCIRun Field. This converter works on regular, unstructured and structured Data. If the module receives just Data, it will most likely be a regular Field (i.e. ScanLine, Image, LatVol). For structured and unstructured Fields, the data is optional. If Points but no Connections are given, a structured dataset will most likely be created (i.e. StructQuad, StructHex). If Points and Connections are given, an unstructured field will most likely be created (i.e. Curve, TriSurf, QuadSurf, TetVol, HexVol). If a Field is passed in, the module will try to use that Field's mesh.
====Detailed Description====
Convert a combination of Nrrds to a SCIRun Field. This converter works on regular, unstructured and structured Data. If the module receives just Data, it will most likely be a regular Field (i.e. ScanLine, Image, LatVol). For structured and unstructured Fields, the data is optional. If Points but no Connections are given, a structured dataset will most likely be created (i.e. StructQuad, StructHex). If Points and Connections are given, an unstructured field will most likely be created (i.e. Curve, TriSurf, QuadSurf, TetVol, HexVol). If a Field is passed in, the module will try to use that Field's mesh.
The first port is for Points.
The second port should contain a Nrrd of connectivity. This should be in the form P x N where P is the points in a connection and N is the number of connections. For example, a TriSurf would have a connections nrrd that would be 3 x N. The Unstructured Field will be determined based on the size of P. A size of two will convert to a CurveMesh, a size of three will be a TriSurf, etc. In the case of P being equal to size 4, there is an ambiguity whether or not the resulting Field should be a TetVolField or QuadSurfField. This can be indicated in the ConvertNrrdToRasterField UI under the option Unstructured Cell Type when Points per Connection = 4. If Auto is selected, then the module will try to determine the Cell Type based on the Nrrd's Properties. If it cannot be determined, a Cell Type of TetVolField. If the Points Nrrd happens to be in the form of N x P, the module will try to determine that and handle it accordingly.
The third port is the Data port. For the case of Regular data, this should be the only port connected. If it contains vector or tensor data values, they should be in the first axis and it's kind should be set accordingly. This can be done with the MODULE REFERENCE module.
The last port is the an optional Field input. If this is connected, the module will attempt to use the Mesh from this Field for the new Field. If the input Field's Mesh does not match the information given in the other ports, it will default to the behavior above an disregard the incoming Field.
The UI option Permute Data will permute Fortran data or data in the form (k,j,i).
The UI option Build Eigen Decomposition for Tensor Field" will build the decomposition using a call to the Teem library (tenEigenSolve_f).
The UI option of Structured/Unstructured Ambiguity is when the Data, or Points has a size of one in the first dimension. This could be a Point Cloud or Struct Curve. If Auto is selected, the module will try to determine based on the Nrrd Property's Cell Type. If it cannot be determined, the module will create a Point Cloud. The UI settings will always over-ride the NrrdProperties.
The list of Nrrd Names at the bottom of the UI is for information only.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:ConvertRasterFieldToNrrd
0
1482
3621
2006-11-01T04:15:30Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ConvertRasterFieldToNrrd'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Converters
:Author(s): David Weinstein, Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Take the data from a field or fields and wrap it with a nrrd and pass it out.
====Detailed Description====
Inputs: a field or multiple fields that share the *same* mesh. Output: a NrrdData.
This module converts data from a given field, into NrrdData. NrrdData is the SCIRun object that is mostly a wrapper around a Nrrd*. There are many operations that can be applied to the data as a nrrd, <slink text="http://www.cs.utah.edu/~gk/teem/unnrrdu/index.html"></slink> many of which are supported in this Teem package.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix
0
1483
3622
2006-11-01T04:15:30Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetColumnMatrixFromMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): David Weinstein, Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
====Detailed Description====
The GetColumnMatrixFromMatrix module runs in one of three different modes: interactive mode uses the "Matrix" input port (first port) only. The other two ports, Weight Vector and Current Index, run the module without having to select vectors by hand.
When the module runs in interactive mode, the user selects which vectors they want to include in the playback. In the GetColumnMatrixFromMatrix module dialog window, Start and End sliders enable the user to set the playback range, the Current Value function specifies which row or column to send downstream, and the Delay function controls the time delay and speed of the animated points on the mesh.
There are several Play Modes in the GetColumnMatrixFromMatrix GUI dialog window: Once, Loop, Bounce1, and Bounce2. The Once mode plays the animation from current value to the end of the selected range of column and rows on the matrix. The Loop mode plays the selected range endlessly, reversing directions after reaching the start or end of the range. Bounce1 only plays endpoints once, while Bounce2 repeats them. For example, if the range is 1 through 3, Bounce1 will play { 1 2 3 2 1 2 3 2 1 . . .}, while Bounce2 will play {1 2 3 3 2 1 2 3 3 2 1}. Using the Delay text field in the GUI dialog window, the user specifies a delay (in milliseconds) that controls the speed at which the selected rows or columns may be sent to the output port.
The Increment entry can be used to skip through the input matrix by more than one element at a time. This can be used with the Send Amount entry to send more than one row/column at a time. For instance, if both entries are set to three, the module will send three rows/columns at a time, which can then be mapped onto a vector field by the MODULE REFERENCE module.
The second input port of the GetColumnMatrixFromMatrix module, Weight Vector, allows the user to to select mutliple columns of a matrix and add them together. The Weight Vector port can only take a column vector as input. In the GetColumnMatrixFromMatrix module, the user selects the indices of the column or row they are working with to calculate this weighting.
The third input port, Current Index, synchronizes the playback of two GetColumnMatrixFromMatrix modules; the Selected Index of one can be connected to the Current Index Port of another.
The following examples show use of the input ports. First, to send Row 5 of a matrix, select Row, making sure that 5 falls between the start and end ranges. Then, enter '5' into the Current Index slot, and execute the module. To send Rows 1 through 5 of a matrix: select Row with a start value of 1. Next, set the end value to 5 and set the Current Index to 1. Select 'Once' from the play modes, press the 'Play' buttons, and rows 1-5 will be sent, one after the other, to the output port.
Synchronize two GetColumnMatrixFromMatrix modules as follows. First, attach the module's Selected Index output port to the GetColumnMatrixFromMatrix module to be synchronized, making certain that the Row and Column selections for each module are consistent. You have now synchronized the downstream and upstream GetColumnMatrixFromMatrix modules.
The following example illustrates use of the second input port: Current Index. The LeadFieldSourceLocalization module uses this second input port to extract three components from a matrix and add them together with weighting. For example, if you wanted to extract the matrix 2, 5, and 7, the column matrix would have only those column entries. Since we also have weighting, you can take the weighted combination of that matrix. You can do this by taking half of column 2, half of column 5, and a quarter of column 7. The column matrix would show these weights in column 2 as 1/2, column 5 as 1/2, and column 7 as 1/4, for a vector length of 6 as a column matrix for that second entry.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:ExportImage
0
1484
3623
2006-11-01T04:15:35Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ExportImage'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: DataIO
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Output a Nrrd as an image file.
====Detailed Description====
ExportImage uses the ImageMagick libaries to convert a Nrrd into an image file in one of the many formats supported by ImageMagick. The Nrrd can be G, RGB, or RGBA data consisting of unsigned characters, unsigned shorts, floats, or doubles. If the data is float or double then it should be between 0 and 1. See MODULE REFERENCE for more on the data format.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary
0
1485
3624
2006-11-01T04:15:35Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetFieldBoundary'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The GetFieldBoundary module extracts a boundary surface from a volume field.
====Detailed Description====
The GetFieldBoundary module extracts the bounding surface of the incoming field, making it into a new field that it outputs through the BoundaryField port. This module does not have a GUI. It has one input port, Input, and two output ports, Boundary, and Mapping. The GetFieldBoundary module builds an appropriate mesh from the incoming field. GetFieldBoundary will build a QuadSurfMesh, TriSurfMesh, or CurveMesh as appropriate for the boundary type of the input field. The Boundary output port will contain the new boundary mesh with no data interpolated onto it. If the data from the input field is desired on the output field, we recommended that using the Mapping output, running the results through MODULE REFERENCE in order to draw values from the input field.
Any interior face should be shared by two cells. The boundary surface is calculated as the module checks each face that is shared by two or more cells. The faces that exist in one cell only are boundary faces. This module can be used as a debugging tool becuase errors or holes in the mesh will show up as boundary faces.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle
0
1098
1667
1557
2006-11-01T04:15:40Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetFieldsFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a 'field' object from a bundle.
====Detailed Description====
This module retrieves a 'field' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'field' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:ImportImage
0
1486
3625
2006-11-01T04:15:40Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ImportImage'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: DataIO
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Use ImageMagick libraries to open neary any image file.
====Detailed Description====
ImportImage will open any of the image types supported by ImageMagick. The image is opened as a 3xWxH nrrd containing float data ranging between 0 and 1. At this time only the RGB channels of the image are preserved, any opacity channel is discarded.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName
0
1488
1690
2006-11-01T04:15:45Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetFileName'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This Module gets a filename and stores it in a string.
====Detailed Description====
This Module gets a filename and stores it in a string.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:ImportNrrdFromAnalyze
0
1487
3626
2006-11-01T04:15:45Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ImportNrrdFromAnalyze'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: DataIO
:Author(s): Jenny Simpson
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert Analyze data to the NRRD format which can be used in SCIRun networks.
====Detailed Description====
This module provides support for converting <ulink text="http://www.mrc-cbu.cam.ac.uk/Imaging/Common/analyze_fmt.shtml">Analyze</ulink> data to the <ulink text="http://teem.sourceforge.net/nrrd/index.html">NRRD</ulink> format which can be used in SCIRun networks. An important point is that this module is dependent on the Insight package, so both the Teem and Insight packages have to be enabled in the SCIRun build in order for the ImportNrrdFromAnalyze converter to work.
Some brief background information about the Analyze format will be helpful in understanding how to load data using the ImportNrrdFromAnalyze reader. For a detailed description of the Analyze format, please refer to the documentation pages for <ulink text="http://www.mrc-cbu.cam.ac.uk/Imaging/Common/analyze_fmt.shtml">Analyze</ulink>.
Analyze files contain volume data, often from MRI. The Analyze format includes two different files for each volume: a header (extension ".hdr") file and and image (extension ".img") file. All of the image data for a volume is contained in a single image file. Since these files come in pairs, the ImportNrrdFromAnalyze module requires the user to specify a ".hdr" file to read. Then the module looks for the corresponding ".img" file in the same directory as the ".hdr" file.
The ImportNrrdFromAnalyze module requires the user to specify a directory containing the data files. One or more Analyze files may be selected for processing. If the files are recognized as valid Analyze format, they are read in and converted to the NRRD format which can then be passed downstream to certain other SCIRun modules.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:ImportNrrdFromDicom
0
1489
3628
2006-11-01T04:15:50Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ImportNrrdFromDicom'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: DataIO
:Author(s): Jenny Simpson
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert DICOM data to the NRRD format which can be used in SCIRun networks.
====Detailed Description====
This module provides support for converting <ulink text="http://www.psychology.nottingham.ac.uk/staff/cr1/dicom.html">DICOM</ulink> data to the <ulink text="http://teem.sourceforge.net/nrrd/index.html">NRRD</ulink> format which can be used in SCIRun networks. An important point is that this module is dependent on the Insight package, so both the Teem and Insight packages have to be enabled in the SCIRun build in order for the ImportNrrdFromDicom converter to work.
Some brief background information about the DICOM format will be helpful in understanding how to load data using the ImportNrrdFromDicom reader. For a detailed description of the DICOM format, please refer to the documentation pages for <ulink text="http://www.psychology.nottingham.ac.uk/staff/cr1/dicom.html">DICOM</ulink>.Also, note that the DICOM format is "flexible", meaning that implementations tend to vary slightly, so the descriptions that follow are not guaranteed to be universally applicable.
DICOM is a standard file format that stores volume data from computed tomography (CT) scans, magnetic resonance imaging (MRI), and ultrasound. Each DICOM file has a header that is followed by image data. While a single DICOM file can contain image data for multiple slices of scanned data, usually each DICOM file contains only one image frame corresponding to one slice. For example, for a scan consisting of 60 slices, there would most likely be 60 DICOM files. This logical grouping of DICOM files is called a series. As a result, when loading DICOM data using the ImportNrrdFromDicom module, one or more series' each containing one or more files can be loaded.
The ImportNrrdFromDicom module requires the user to specify a directory containing the data files. One or more series' of DICOM files can be selected for processing. If the files are recognized as valid DICOM format, they are read in and converted to the NRRD format which can then be passed downstream to certain other SCIRun modules.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices
0
1490
3629
2006-11-01T04:15:51Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetHexVolSheetBasedOnEdgeIndices'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Jason Shepherd
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Removes a layer of hexes corresponding to the input edge ids.
====Detailed Description====
The GetHexVolSheetBasedOnEdgeIndices module removes a layer of hexahedral elements corresponding to the sheet uniquely defined by the input edge ids.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField
0
1491
3630
2006-11-01T04:15:55Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetInputField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Examples
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Most basic example of Field Input in a SCIRun module.
====Detailed Description====
Get a Field from the input port and print out the pointer to the field when executed.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:MiscProbe
0
1492
3631
2006-11-01T04:15:55Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MiscProbe'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Misc
:Author(s): Anastasia Mironova
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module adds the functionality of gage to SCIRun.
====Detailed Description====
This module adds the functionality of gage to SCIRun.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:ReadNrrd
0
1493
3632
2006-11-01T04:16:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadNrrd'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: DataIO
:Author(s): David Weinstein, Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Open a raw nrrd or a SCIRun wrapped nrrd.
====Detailed Description====
Interface to introdude a NrrdData into the net. ReadNrrd can open a raw nrrd, or a previously saved SCIRun wrapped nrrd (NrrdData). If the first axis is vector or tensor data, make sure that the nrrdKind for that axis is set appropriately. This can be checked via the MODULE REFERENCE module and changed via the MODULE REFERENCE module.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput
0
1494
3633
2006-11-01T04:16:06Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetInputFieldAndSendAsOutput'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Examples
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Most basic example of Field Output in a SCIRun module.
====Detailed Description====
Get a Field from the input port and print out the pointer to the field when executed, and send the same field downstream.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:ReportNrrdInfo
0
1495
3634
2006-11-01T04:16:15Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportNrrdInfo'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Misc
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ReportNrrdInfo is used to view the attributes of Nrrd's.
====Detailed Description====
Display in the ui all attributes of the input nrrd for each axis in the Nrrd. Display all info in the modules UI. The data type, dimensionality, and label, data center, kind, size, spacing, min, max along each axis in the Nrrd. If it is not stored in the Nrrd --- is displayed.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle
0
1099
1668
1558
2006-11-01T04:16:17Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetMatricesFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a 'matrix' object from a bundle.
====Detailed Description====
This module retrieves a 'matrix' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'matrix' object.
Since Nrrd and Matrix objects can represent the same kind of data. The bundle class has a built in converter from matrix to nrrd. Hence all compatible matrix objects are listed as well and will be converted on the spot if they are selected.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:SelectTimeStepFromNrrd
0
1496
3635
2006-11-01T04:16:25Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SelectTimeStepFromNrrd'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Misc
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The SelectTimeStepFromNrrd module allows users to select a single time step or column from a Misc that has a time axis. The user can also select a range of time indecies and send them to the output port one at a time. This module allows the user to animate Through a time series.
====Detailed Description====
When the module runs in interactive mode, the user selects which vectors they want to include in the playback. In the SelectTimeStepFromNrrd module dialog window, Start and End sliders enable the user to set the playback range, the Current Value function specifies which row or column to send downstream, and the Delay function controls the time delay and speed of the animated points on the mesh.
There are several Play Modes in the SelectTimeStepFromNrrd GUI dialog window: Once, Loop, Bounce1, and Bounce2. The Once mode plays the animation from current value to the end of the selected range of column and rows on the matrix. The Loop mode plays the selected range endlessly, reversing directions after reaching the start or end of the range. Bounce1 only plays endpoints once, while Bounce2 repeats them. For example, if the range is 1 through 3, Bounce1 will play { 1 2 3 2 1 2 3 2 1 . . .}, while Bounce2 will play {1 2 3 3 2 1 2 3 3 2 1}. Using the Delay text field in the GUI dialog window, the user specifies a delay (in milliseconds) that controls the speed at which the selected rows or columns may be sent to the output port.
The Increment entry can be used to skip through the input matrix by more than one element at a time. This can be used with the Send Amount entry to send more than one row/column at a time. For instance, if both entries are set to three, the module will send three rows/columns at a time, which can then be mapped onto a vector field by the MODULE REFERENCE module.
This module is much more efficient if the Time axis is the last (slowest) axis in the input NRRD. This is because the output of each timestep is a contiguous chunk of the input and can thus be sent as a pointer offset rather than an interleaved memory copy.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle
0
1100
1669
1559
2006-11-01T04:16:28Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetNrrdsFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a 'nrrd' object from a bundle.
====Detailed Description====
This module retrieves a 'nrrd' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'nrrd' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:SetNrrdProperty
0
1497
3636
2006-11-01T04:16:36Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SetNrrdProperty'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Misc
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Set a Property for a Nrrd.
====Detailed Description====
Set a Property for a Nrrd. The property can then be used by downstream modules to determine various things about the Nrrd. This module is only used for editing string properties.
The properties most commonly set are:
name: The name of the Nrrd.
units: What units are used when measuring a Nrrd.
Properties are generally used for domain specific information, such that the number used in the base SCIRun module set is quite limited.
There are also several properties which are not currenty editable with this module. These include the multi-value properties and properties which are not just strings. These include the minmax property which is a cache of the min and max values for a Nrrd, and the conductivities_table which contains conductivities for an indexed Nrrd.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle
0
1101
1671
1560
2006-11-01T04:16:37Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetPathsFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a 'path' object from a bundle.
====Detailed Description====
This module retrieves a 'path' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'path' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendAnhist
0
1498
3637
2006-11-01T04:16:43Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendAnhist'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Generate barycentric histograms of anisotropy. The barycentric space used is either one of Westin's triple of spherical, linear, and planar anisotropy. The bin counts in the histogram are weighted by the confidence value.
====Detailed Description====
Generate barycentric histograms of anisotropy. The barycentric space used is either one of Westin's triple of spherical, linear, and planar anisotropy. The bin counts in the histogram are weighted by the confidence value.
Weights NRRD is optional and if given as input, determines how to weigh contributions to histogram. If given, the value in the NRRD at the corresponding location will be the bin count increment. If not given, the increment is one bin count per sample.
Right: Sample a right-triangle-shaped region, instead of a roughly equilateral triangle.
Westin Version : Which version of Westin's anisotropy metric triple to use, either integers 1 or 2.
Resolution : resolution of anisotropy plot. This should be an integer.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol
0
1499
3638
2006-11-01T04:16:46Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetSliceFromLatVol'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): ARSanderson
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
====Detailed Description====
The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
The Field Slicer input port is a field that has regular topology. The field will be reduced by 1 dimension and piped to the output port. The user must supply two input values via the module GUI, the axis the field is reduced along and location along the selected axis.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendAnplot
0
1500
3639
2006-11-01T04:16:48Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendAnplot'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Graph anisotropy metric in barycentric coords. The metrics all vary from 0.0 to 1.0, and will be sampled in the lower right half of the image. The plane on which they are sampled is a surface of constant trace.
====Detailed Description====
Graph anisotropy metric in barycentric coords. The metrics all vary from 0.0 to 1.0, and will be sampled in the lower right half of the image. The plane on which they are sampled is a surface of constant trace.
Resolution : resolution of anisotropy plot. This value should be an integer.
Sample Whole Triangle of Constant Trace : check to sample the whole triangle of constant trace, instead of just the sixth of it in which the eigenvalues have the traditional sorted order.
Set Outside Pixel Values to NaN : set the pixel values outside the triangle to be NaN. If not checked they will be set to 0.
Anisotropy Metric to Plot : Which anisotropy metric to plot. All the Westin metrics come in two versions. Currently supported: cl1, cl2: Westin's linear; cp1, cp2: Westin's planar; ca1, ca2: Westin's linear + planar; cs1, cs2: Westin's spherical (1-ca); ct1, ct2: GK's anisotropy type (cp/ca); ra: Basser/Pierpaoli relative anisotropy; fa: Basser/Pierpaoli fractional anisotropy/sqrt(2); vf: volume fraction = 1-(Basser/Pierpaoli volume ratio); tr: trace.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle
0
1102
1672
1561
2006-11-01T04:16:50Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetStringsFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a 'string' object from a bundle.
====Detailed Description====
This module retrieves a 'string' object from a bundle by specifying the name of that object. The module has three output ports that each can be programmed to retrieve a specific 'string' object.
The module's first bundle output port just generates a copy of the input bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendAnscale
0
1501
3640
2006-11-01T04:16:53Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendAnscale'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Scale the anisotropic component of the tensors. This maintains the isotropic component of the tensor, and fixes either the trace or determinant, while scaling up (or down) the deviatoric component of the tensor. Good for exaggerating the shape of nearly isotropic tensors.
====Detailed Description====
Scale the anisotropic component of the tensors. This maintains the isotropic component of the tensor, and fixes either the trace or determinant, while scaling up (or down) the deviatoric component of the tensor. Good for exaggerating the shape of nearly isotropic tensors.
Scale: Amount by which to scale deviatoric component of tensor. This value should be a float.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix
0
1502
3641
2006-11-01T04:16:55Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''GetSubmatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Select a subset of a matrix.
====Detailed Description====
The GetSubmatrix module allows you to select a contiguous GetSubmatrix from an input matrix. The sliders are used to select a row and column range of the input field. The block of values covered by the sliders is then sent to the output matrix.
The range bounds can be specified without using the GUI sliders. If a matrix is attached to the 'Optional Range Bounds' port then the range is extracted from that matrix instead. (0,0) will be the minimum row, (1, 0) is the maximum row, (0,1) is the minimum column, and (1,1) is the maximum column. All other values in the 'Optional Range Bounds' matrix are ignored. If the bounds do not fall within the size of the input matrix only the existing values are sent.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendAnvol
0
1503
3642
2006-11-01T04:16:57Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendAnvol'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Apply an anisotropy metric to a DT volume. The anisotropy value will be zero in the locations which don't meet the given confidence threshold.
====Detailed Description====
Apply an anisotropy metric to a DT volume. The anisotropy value will be zero in the locations which don't meet the given confidence threshold.
Anisotropy Metric : Which anisotropy metric to plot. All the Westin metrics come in two versions. Currently supported:
cl1, cl2 : Westin's linear.
cp1, cp2 : Westin's planar.
ca1, ca2 : Westin's linear + planar.
cs1, cs2 : Westin's spherical (1-ca).
ct1, ct2 : GK's anisotropy type (cp/ca).
ra : Basser/Pierpaoli relative anisotropy.
fa : Basser/Pierpaoli fractional anisotropy/sqrt(2).
vf : volume fraction = 1-(Basser/Pierpaoli volume ratio).
tr : trace
Threshold : The confidence threshold. This value should be a float.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle
0
1103
1675
1562
2006-11-01T04:16:59Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertBundlesIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module adds a 'bundle' object to a bundle stream.
====Detailed Description====
This module adds a 'bundle' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'bundle' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'bundle' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendBmat
0
1504
3643
2006-11-01T04:17:01Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendBmat'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Calculate B-matrix given gradient directions.
====Detailed Description====
Calculate B-matrix given gradient directions, assuming no diffusion weighting from the other imaging gradients. The input is a 3-by-N array of floats or doubles, each row being one of the gradient directions used for diffusion-weighted imaging. A plain text file with one gradient per line, no punctuation, is an easy way to specify this information. The gradient vector coefficients are used as is, without normalization (since different gradient strengths are sometimes desired). The output has one row of the B-matrix per line, with coefficient ordering Bxx, Bxy, Bxz, Byy, Byz, Bzz, and with the off-diagonal elements NOT pre-multiplied by 2.
List of Gradients : List of gradients, one gradient per line.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle
0
1505
1676
2006-11-01T04:17:03Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertColorMap2sIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module adds a 'colormap2' object to a bundle stream.
====Detailed Description====
This module adds a 'colormap2' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'colormap2' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'colormap2' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendEpireg
0
1506
3645
2006-11-01T04:17:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendEpireg'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Register diffusion-weighted echo-planar images.
====Detailed Description====
Register diffusion-weighted echo-planar images. This registration corrects the shear, scale, and translate along the phase encoding direction (assumed to be the Y (second) axis of the image) caused by eddy currents from the diffusion-encoding gradients with echo-planar imaging. The method is based on calculating moments of segmented images, where the segmentation is a simple procedure based on blurring (optional), thresholding and connected component analysis. The registered DWIs are resampled with the chosen kernel, with the seperate DWIs stacked along axis 0.
List of Gradients : List of gradients, one gradient per line.
Reference :which of the DW volumes (zero-based numbering) should be used as the standard, to which all other images are transformed. Using -1 means that 9 intrinsic parameters governing the relationship between the gradient direction and the resulting distortion are estimated and fitted, ensuring good registration with the non-diffusion-weighted T2 image (which is never explicitly used in registration). Otherwise, by picking a specific DWI, no distortion parameter estimation is done. This value should be an integer.
Blur X :standard devs in X direction of gaussian filter used to blur the DWIs prior to doing segmentation. This blurring does not effect the final resampling of registered DWIs. Use 0.0 to indicate no blurring This value should be a float.
Blur Y :standard devs in Y direction of gaussian filter used to blur the DWIs prior to doing segmentation. This blurring does not effect the final resampling of registered DWIs. Use 0.0 to indicate no blurring This value should be a float.
Threshold : Threshold value to use on DWIs, to do initial seperation of brain and non-brain. If the Use Default Threshold checkbox is checked, the threshold is determined automatically by histogram analysis.
CC Analysis : Use connected component analysis, after thresholding and before moment calculation. Doing connected components analysis usually gives better results because it converts the thresholding output into something much closer to a real segmentation.
Fitting : Only meaningful when the Reference equals -1. hen doing linear fitting of the intrinsic distortion parameters, it is good to ignore the slices for which the segmentation was poor. A heuristic is used to rank the slices according to segmentation quality. This option controls how many of the (best) slices contribute to the fitting. Use 0 to disable distortion parameter fitting. This value should be a flot.
Kernel : kernel for resampling DWIs along the phase-encoding direction during final registration stage.
Sigma : sigma used when kernel is gaussian.
Extent : extent used when kernel is gaussian.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle
0
1104
1677
1563
2006-11-01T04:17:07Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertColorMapsIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module adds a 'colormap' object to a bundle stream.
====Detailed Description====
This module adds a 'colormap' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'colormap' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'colormap' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendEstim
0
1507
3646
2006-11-01T04:17:10Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendEstim'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Estimate tensors from a set of DW images.
====Detailed Description====
Estimate tensors from a set of DW images. The various DWI volumes must be stacked along axis 0 (as with the output of "tend epireg"). The tensor coefficient weightings associated with each of the DWIs, the B-matrix, is given as a seperate array, see "tend bmat" usage info for details. A "confidence" value is computed with the tensor, based on a soft thresholding of the sum of all the DWIs, according to the threshold and softness parameters.
B0 is stored as first DWI value : Determines if the B=0 non-diffusion-weighted reference image is known, or if it has to be estimated along with the tensor elements. Check it if true to indicate that the B=0 image is the FIRST input image given , and hence the B-matrix has ONE LESS row than the number of of input images. If false, there is no reference image; all the input images are diffusion-weighted in some way or another, and there exactly as many rows in the B-matrix as there are input images
Threshold :
Soft : how fuzzy the confidence boundary should be. By default, confidence boundary is perfectly sharp. This value should be a float.
Scale : After estimating the tensor, scale all of its elements (but not the confidence value) by this amount. Can help with downstream numerical precision if values are very large or small. This value should be a float.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle
0
1105
1678
1564
2006-11-01T04:17:11Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertFieldsIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module adds a 'field' object to a bundle stream.
====Detailed Description====
This module adds a 'field' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'field' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'field' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendEval
0
1508
3647
2006-11-01T04:17:14Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendEval'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Calculate one or more eigenvalues in a DT volume.
====Detailed Description====
Calculate one or more eigenvalues in a DT volume.
Major, Medium, and Minor : indicate which eigenvalues should be saved out.
Threshold : Confidence threshold. This should be a float.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf
0
1509
3648
2006-11-01T04:17:15Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertHexVolSheetFromTriSurf'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Jason Shepherd
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Insert a layer of hexes corresponding to the input TriSurfMesh.
====Detailed Description====
The InsertHexVolSheetFromTriSurf module inserts a layer of hexahedral elements into the input hexahedral mesh which roughly follows the shape of the input triangle mesh.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendEvalAdd
0
1510
3649
2006-11-01T04:17:20Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendEvalAdd'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Modify shape by adding a constant to all eigenvalues. The orientation of the tensor is unchanged. Note that unlike tend anscale, this operation can completely change the shape of the tensor.
====Detailed Description====
Modify shape by adding a constant to all eigenvalues. The orientation of the tensor is unchanged. Note that unlike tend anscale, this operation can completely change the shape of the tensor.
Value to Add : value to add to all eigenvalues (float).
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle
0
1106
1679
1565
2006-11-01T04:17:21Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertMatricesIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module adds a 'matrix' object to a bundle stream.
====Detailed Description====
This module adds a 'matrix' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'matrix' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'matrix' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendEvalClamp
0
1511
3650
2006-11-01T04:17:24Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendEvalClamp'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Modify shape by clamping eigenvalues in some range.
====Detailed Description====
Modify shape by clamping eigenvalues in some range. The orientation of the tensor is unchanged. Note that unlike tend anscale, this operation can completely change the shape of the tensor.
Min : Eigenvalues are clamped from below by this (the minimum output eigenvalue). Use nan to signify that no minimum clamping should be done. This value should be a float.
Max : Eigenvalues are clamped from above by this (the maximum output eigenvalue). Use nan to signify that no maximum clamping should be done. This value should be a float.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle
0
1107
1680
1566
2006-11-01T04:17:25Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertNrrdsIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module adds a 'nrrd' object to a bundle stream.
====Detailed Description====
This module adds a 'nrrd' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'nrrd' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'nrrd' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle
0
1108
1681
1567
2006-11-01T04:17:29Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertPathsIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module adds a 'path' object to a bundle stream.
====Detailed Description====
This module adds a 'path' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'path' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'path' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendEvalPow
0
1512
3651
2006-11-01T04:17:29Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendEvalPow'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Modify shape by raising eigenvalues to some power.
====Detailed Description====
Modify shape by raising eigenvalues to some power. The orientation of the tensor is unchanged.
Power: Power to which to raise all the eigenvalues. This value should be a float.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle
0
1109
1682
1568
2006-11-01T04:17:36Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InsertStringsIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module adds a 'string' object to a bundle stream.
====Detailed Description====
This module adds a 'string' object to a bundle stream. In the GUI a name can be specified for the object, which will be used to cataloge the object in the stream. In case the 'string' object has a name property this one can be used as well to name the object in the stream. The module has three input ports, so three 'string' objects can be inserted at the same time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendEvec
0
1513
3652
2006-11-01T04:17:36Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendEvec'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Calculate one or more eigenvectors in a DT volume.
====Detailed Description====
Calculate one or more eigenvectors in a DT volume.
Major, Medium, and Minor : indicate which eigenvalues should be saved out.
Threshold : Confidence threshold. This value should be a float.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:TendEvecRGB
0
1514
3653
2006-11-01T04:17:41Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendEvecRGB'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Make an RGB volume from an eigenvector and an anisotropy.
====Detailed Description====
Make an RGB volume from an eigenvector and an anisotropy.
Eigenvector to use : indicate which eigenvector will be colored.
Anisotropy Metric : Which anisotropy metric to use for modulating the saturation of the colors. All the Westin metrics come in two versions. Currently supported are:
cl1, cl2 : Westin's linear.
cp1, cp2 : Westin's planar.
ca1, ca2 : Westin's linear + planar.
cs1, cs2 : Westin's spherical (1-ca).
ct1, ct2 : GK's anisotropy type (cp/ca).
ra : Basser/Pierpaoli relative anisotropy.
fa : Basser/Pierpaoli fractional anisotropy/sqrt(2).
vf : volume fraction = 1-(Basser/Pierpaoli volume ratio).
tr : trace.
Background : gray level to use for voxels who's confidence is zero. This should be a float.
Gray : he gray level to desaturate towards as anisotropy decreases (while confidence remains 1.0). This value should be a float.
Gamma : gamma to use on color components. This value should be a float.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal
0
1515
3654
2006-11-01T04:17:41Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InterfaceWithCamal'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Jason Shepherd
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
====Detailed Description====
Create a volumetric tetrahedral mesh from the given boundary mesh. Uses the CAMAL wrapper from Sandia National Labs for the Simulog GHS-3D incremental Delaunay tetrahedralizer.
The output field is a tetrahedral field of elements.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit
0
1516
3655
2006-11-01T04:17:47Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InterfaceWithCubit'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendEvq
0
1517
3656
2006-11-01T04:17:47Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendEvq'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Quantize directions of diffusion. Because VTK doesn't do multi-dimensional colormaps, we have to quantize directions of diffusion (usually just the principal eigenvector) in order to create the usual XYZ-RGB coloring. Because eigenvector directions are poorly defined in regions of low anisotropy, the length of the vector (pre-quantization) is modulated by anisotropy, requiring the selection of some anisotropy metric.
====Detailed Description====
Quantize directions of diffusion. Because VTK doesn't do multi-dimensional colormaps, we have to quantize directions of diffusion (usually just the principal eigenvector) in order to create the usual XYZ-RGB coloring. Because eigenvector directions are poorly defined in regions of low anisotropy, the length of the vector (pre-quantization) is modulated by anisotropy, requiring the selection of some anisotropy metric.
Evec Index : Which eigenvector should be quantized: a value of 0 for the direction of fastest diffusion (eigenvector associated with largest eigenvalue), values 1 or 2 for other two eigenvectors (associated with middle and smallest eigenvalue) (integer).
Anisotropy Metric: Which anisotropy metric to plot. All the Westin metrics come in two versions. Currently supported: cl1, cl2: Westin's linear; cp1, cp2: Westin's planar; ca1, ca2: Westin's linear + planar; cs1, cs2: Westin's spherical (1-ca); ct1, ct2: GK's anisotropy type (cp/ca); ra: Basser/Pierpaoli relative anisotropy; fa: Basser/Pierpaoli fractional anisotropy/sqrt(2); vf: volume fraction = 1-(Basser/Pierpaoli volume ratio); tr: trace.
Don't Attenuate the color by Anisotropy : When not selected, regions with low or no anisotropy are very dark colors or black.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen
0
1518
3657
2006-11-01T04:17:53Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InterfaceWithTetGen'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
====Detailed Description====
Inputs:
Main (Required): The main field to be processed by tetgen. The outer surface or Tetrahedral volume field to refine.
Points (Optional): If there is a PointCloud attached to this input, the point in it will be included in the output tetvol. Data on this field is meaningless.
Region Attribs (Optional): If a PointCloud is attached the points will be considered points inside the different regions. The data will be used as the volume constraint for that region. For the volume constraint to be respected you must pass the 'a' command line switch.
Regions (optional): This is a dynamic input, each input should be a surface field, that defines a region inside the Main Input.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendExpand
0
1519
3658
2006-11-01T04:17:53Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendExpand'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Converts a 7-value DT volume to a 9-value DT volume. The 7-value tensor is confidence value followed by the unique tensor components (Dxx, Dxy, Dxz, Dyy, Dyz, Dzz). The 9-value tensor is the full matrix (Dxx, Dxy, Dxz, Dxy, Dyy, Dyz, Dxz, Dyz, Dzz), which is set to all zeros when the confidence is below the given threshold.
====Detailed Description====
Converts a 7-value DT volume to a 9-value DT volume. The 7-value tensor is confidence value followed by the unique tensor components (Dxx, Dxy, Dxz, Dyy, Dyz, Dzz). The 9-value tensor is the full matrix (Dxx, Dxy, Dxz, Dxy, Dyy, Dyz, Dxz, Dyz, Dzz), which is set to all zeros when the confidence is below the given threshold.
Threshold : confidence level to threshold output tensors at. Should be between 0.0 and 1.0. (float)
Scale : how to scale values before saving as 9-value tensor. Useful for visualization tools which assume certain characteristic ranges of eigenvalues (float)
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles
0
1110
1673
1569
2006-11-01T04:17:59Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''JoinBundles'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This merges the contents of multiple bundles into one bundle.
====Detailed Description====
This merges the contents of multiple bundles into one bundle. If the same object name exists in multiple bundles the one from the right most input is chosen and the other one will be purged.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendFiber
0
1520
3659
2006-11-01T04:17:59Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendFiber'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Extract a single fiber tract, given a start point.
====Detailed Description====
Extract a single fiber tract, given a start point. Currently, only fibers based on 4th-order Runge-Kutta on principal eigenvector are supported via tend. The world space in which fibers are calculated has the volume inscribed in a bi-unit cubecentered at the origin. The output fiber is in the form of a 3xN array of doubles, with N points along fiber.
Step Size : stepsize along fiber, in world space. This value should be a double.
Stopping Criteria : the conditions that should signify the end of a fiber. Multiple stopping criteria are logically OR-ed and tested at every point along the fiber. These conditions include Fiber Length, Number of Steps, Confidence Threshold, and Anisotropy Threshold.
Kernel : Kernel for reconstructing tensor field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields
0
1521
3660
2006-11-01T04:18:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''JoinFields'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
JoinFields glues any number of input fields into one output field.
====Detailed Description====
JoinFields takes in an arbitrary number of input fields and gathers them all up into one output field. If the input fields all have the same editable mesh type then the output field will also be of the same type. If the meshes are not editable or of different mesh types then only their points will be gathered up and a single PointCloudField will be produced.
The mesh type is not preserved for non-editable mesh types such as LatVolFields because they cannot be arbitrarily glued together while maintaining their mesh type. Run the fields through the MODULE REFERENCE module before passing them into JoinFields if you want the element structure to be preserved.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendMake
0
1522
3661
2006-11-01T04:18:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendMake'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Create DT volume from confidence and eigensystem. The input is in the form of three nrrds, one for confidence values (3D), one for eigenvalues (4D, three evals per voxel), and one for eigenvectors (4D, nine evec components per voxel).
====Detailed Description====
Create DT volume from confidence and eigensystem. The input is in the form of three nrrds, one for confidence values (3D), one for eigenvalues (4D, three evals per voxel), and one for eigenvectors (4D, nine evec components per voxel).
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings
0
1523
1691
2006-11-01T04:18:10Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''JoinStrings'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module merges multiple strings into one string.
====Detailed Description====
This module merges multiple strings into one string. The strings are read from the left most port to the right most port and are put into one string.
(The string of the left most input port is the first string in the merged data).
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendNorm
0
1524
3663
2006-11-01T04:18:10Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendNorm'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Normalize tensor size.
====Detailed Description====
Normalize tensor size. This operates on the eigenvalues of the tensor, and allows normalizing some user-defined weighting of the eigenvalues by some user-defined amount .
Major : relative weights to put on major eigenvalue when performing normalization (internally rescaled to have a 1.0 L1 norm). This weightings determines the tensors's size. Value should be a float.
Medium : relative weights to put on medium eigenvalue when performing normalization (internally rescaled to have a 1.0 L1 norm). This weightings determines the tensors's size. Value should be a float.
Minor :relative weights to put on minor eigenvalue when performing normalization (internally rescaled to have a 1.0 L1 norm). This weightings determines the tensors's size. Value should be a float.
Amount : how much of the normalization to perform. Should be a float.
Target : target size, post normalization. This value should be a float.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination
0
1124
3263
1570
2006-11-01T04:18:15Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MapFieldDataFromSourceToDestination'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
====Detailed Description====
MapFieldDataFromSourceToDestination will find the corresponding data value in the Source for each node in the Destination Field. The data values can be stored at the nodes, cells, edges, or faces of the mesh at either the input or output ports. If the geometries of the input ports are different, the module will calculate data values for the Destination by interpolation.
The MapFieldDataFromSourceToDestination GUI contains a check box for Enable Interpolation and Use Closest Element If Not Interpable. The Enable Interpolation check box allows the user to select the option of interpolation. The user can also select the option of choosing the closest element when a data value cannot be interpolated. The Maximum Closeness option indicates the maximum distance between points of interpolation and data values.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendPoint
0
1525
3664
2006-11-01T04:18:15Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendPoint'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Describe everything about one sample in a DT volume.
====Detailed Description====
Describe everything about one sample in a DT volume.
X : the x corrdinate to sample (integer).
Y : the y corrdinate to sample (integer).
Z : the z corrdinate to sample (integer).
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:TendSatin
0
1526
3665
2006-11-01T04:18:20Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendSatin'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Generate a pretty synthetic DT volume. The surface of a sphere or torus is covered with either linear or planar anisotropic tensors, or somewhere in between.
====Detailed Description====
Generate a pretty synthetic DT volume. The surface of a sphere or torus is covered with either linear or planar anisotropic tensors, or somewhere in between.
Generate Torus Dataset : generate a torus dataset if checked, otherwise generate a sphere dataset.
Anisotropy Parameter : anisotropy parameter. 0.0 for one direction of linear (along the equator for spheres, or along the larger circumference for toruses), 1.0 for planar, 2.0 for the other direction of linear (from pole to pole for spheres, or along the smaller circumference for toruses) (float)
Max Anisotropy : maximum anisotropy in dataset, according to the ca1 anisotropy metric. A value of 1.0 means completely linear or completely planar anisotropy (float)
Min Anisotropy : minimum anisotropy in the dataset (float).
Boundary : parameter governing how fuzzy the boundary between high and low anisotropy is. Use 0.0 for no fuzziness (float)
Thickness : parameter governing how thick region of high anisotropy is (float)
Size : dimensions of output volume. For size N, the output is N x N x N for spheres, and 2N x 2N x N for toruses (int)
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol
0
1125
3264
1571
2006-11-01T04:18:23Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MaskLatVol'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): McKay Davis, Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
====Detailed Description====
Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out. This is similar to the behavior of the MODULE REFERENCE module, except that the input field is masked rather than clipped out.
The function should be a valid C++ expression. It will be dynamically compiled into a function of the form "bool inside_p(double x, double y, double z, TYPE v) { return EXPR; }" where TYPE is the data type contained in the field, and EXPR is the function typed into the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendShrink
0
1527
3666
2006-11-01T04:18:24Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendShrink'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Converts a 9-value DT volume to a 7-value DT volume. The confidence value is set to 1.0 everwhere. You can unu spliced or nrrdSplice() something else in its place later.
====Detailed Description====
Converts a 9-value DT volume to a 7-value DT volume. The confidence value is set to 1.0 everwhere. You can unu spliced or nrrdSplice() something else in its place later.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf
0
1126
3265
1572
2006-11-01T04:18:28Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MaskLatVolWithTriSurf'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): ?
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
?
====Detailed Description====
?
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendSim
0
1528
3667
2006-11-01T04:18:29Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendSim'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Simulate DW images from a tensor field. The output will be in the same form as the input to tend estim, , and the B matrix used is the output from tend bmat. The other required inputs are the reference (non-diffusion-weighted) anatomical scalar volume, and the corresponding volume of diffusion tensors.
====Detailed Description====
Simulate DW images from a tensor field. The output will be in the same form as the input to tend estim, , and the B matrix used is the output from tend bmat. The other required inputs are the reference (non-diffusion-weighted) anatomical scalar volume, and the corresponding volume of diffusion tensors.
B Value: value for simulated scan. This should be a float.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:TendSlice
0
1529
3668
2006-11-01T04:18:33Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendSlice'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Slice 3D tensors to get slab/image of 3D/2D tensors.
====Detailed Description====
Slice 3D tensors to get slab/image of 3D/2D tensors.
Axis : axis along which to slice (integer).
Position : position to slice at (integer).
Dimension : dimension of desired tensor to output. This value can be either 2 or 3 (integer).
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields
0
1530
3669
2006-11-01T04:18:33Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MergeFields'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Insert the elements from a field into a TetVol or TriSurf field.
====Detailed Description====
No description yet.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:TendSten
0
1531
3670
2006-11-01T04:18:38Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TendSten'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: Tend
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Calculate structure tensors from a scalar field. Not a diffusion tensor, but it is symmetric and positive-definate.
====Detailed Description====
Calculate structure tensors from a scalar field. Not a diffusion tensor, but it is symmetric and positive-definate.
Difference Scale : the radius of the kernel used for differentiation to computer gradient vectors (in pixels). This number should be an integer.
Integration Scale : the radius of the kernel used for blurring outer products of gradients in order compute structure tensors (in pixels). This number should be an integer.
Downsample Factor : the factor by which to downsample when creating volume of structure tensors. This should also be an integer.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs
0
1532
3671
2006-11-01T04:18:38Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MergeTriSurfs'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: NewField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Self intersect all the triangles in a trisurf with each other so that none overlap.
====Detailed Description====
The MergeTriSurfs module dices up a TriSurfMesh such that no two triangles overlap each other. For example two or more triangle meshes could be combined with GatherFields and the result then run through MergeTriSurfs to cut along the seams where the two surfaces intersect.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen
0
1533
3672
2006-11-01T04:18:43Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''PrintHelloWorldToScreen'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Examples
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Most basic example SCIRun module.
====Detailed Description====
Most basic example SCIRun module. Prints out "Hello World" when executed.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:Unu1op
0
1534
3673
2006-11-01T04:18:43Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''Unu1op'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Unary operation on a nrrd.
====Detailed Description====
Unary operation on a nrrd.
Operator: Unary operator. Posibilities include:
- : negative (multiply by -1.0)
r : reciprocal (1.0/value)
sin, cos, tan, asin, acos, atan : same as in C
exp, log, log10, log1p : same as in C
sqrt, cbrt, ceil, floor : same as in C
erf : error function (integral of Gaussian)
rup, rdn : round up or down to integral value
abs : absolute value
sgn : -1, 0, 1 if value is less than 0, ==0, or greater than 0
exists : 1 iff not NaN or +/-Inf, 0 otherwise.
Type : convert input nrrd to this type prior to doing the operation. To leave it unchanged, check the 'Same as input type' checkbutton.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString
0
1535
1692
2006-11-01T04:18:48Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''PrintMatrixIntoString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module does a sprintf with input matrices into a new string.
====Detailed Description====
This module module takes in a formatted string (a string with %01d, %4.5f, %g etc) and takes the numbers of the input matrix and puts these formatted numbers into the string. The input matrix can be a scalar but can as well be a full dense matrix. The module takes each number out of the matrix and puts it in the formatted number string. For example in order to plot the contents of a 1 by 3 vector one may choose a formatstring of '%f %f %f\n', which will put all three value in the matrix in the formatted string. If there are more numbers in the matrix then in the format string then the current format string will be reused. Hence to get the contents of a 4 by 4 matrix in a comma seperated list one can choose a format string of '%5.5f, '. This will apply this format string to each number in the matrix. In case multiple matrices are supplied, first all the values of the first matrix will be used, then all the numbers of the next matrix etc. When there are more positions in the matrix where one can fill out a number then the rest will be padded with the value 0.0.
>Note the formatstring may contain '%s', which will remain in the format string and is not touched by this module. To insert strings use SprintfString instead.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:Unu2op
0
1536
3675
2006-11-01T04:18:48Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''Unu2op'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Binary operation on two nrrds, or on a nrrd and a constant. Either the first or second operand can be a float constant, but not both. To perform the operation on two nrrds, connect both input ports. To have one Nrrd on the left hand side of the operator, connect to the first port and vice versa for the right hand side.
====Detailed Description====
Binary operation on two nrrds, or on a nrrd and a constant. Either the first or second operand can be a float constant, but not both. To perform the operation on two nrrds, connect both input ports. To have one Nrrd on the left hand side of the operator, connect to the first port and vice versa for the right hand side.
Operator: Binary operator. Possibilities include:
+, -, x, / : add, subtract, multiply, divide
^ : exponentiation (pow)
% : integer modulo
fmod : same as fmod() in C
atan2 : same as atan2() in C
min, max: minimum, maximum
lt, lte, gt, gte : same as C's less than, less than or equal to, greater than, greater than or equal to
eq, neq : same as C's == and !=
comp : -1, 0, or 1 if 1st value is less than, equal to, or geater than 2nd value
exists : if 1st value exists, use it, else use 2nd value
Float Input : This value is used in the operation and can be on the left or right side of the operator depending on which Nrrd port is connected. If both nrrds ports are connected, this value will be ignored.
Type : type to convert all input nrrds to prior to doing the operation. To leave it unchanged, check the 'Same as input type' checkbutton.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString
0
1538
1695
2006-11-01T04:18:53Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''PrintStringIntoString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module does a sprintf with input strings into a new string.
====Detailed Description====
This module performs a sprintf with strings, whereever a %s in the format string is found the input string will be pasted. This module takes in a new string for each %s encountered in the format string. If not enough string are supplied an empty string is used.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:Unu3op
0
1537
3676
2006-11-01T04:18:53Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''Unu3op'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Ternary operation on three nrrds or constants. Can have one, two, or three nrrds, but not zero.
====Detailed Description====
Ternary operation on three nrrds or constants. Can have one, two, or three nrrds, but not zero.
Operator: Binary operator. Possibilities include:
+, x, : sum or product of three values
min, max : minimum, maximum
clamp : second value is clamped to range between the first and the third
ifelse : if 1st value non-zero, then 2nd value, else 3rd value
lerp : linear interpolation between the 2nd and 3rd values, as the 1st value varies between 0.0 and 1.0, respectively
exists : if the first value exists, use the second value, otherwise use the third
in_op : 1 iff second value is is greater than first and less than the second second, 0 otherwise
in_cl : 1 iff second value is greater than or equal to the first and less than or equal to second, 0 otherwise
Float Input 1: This value is the first float value and will only be used if the first nrrd port isn't connected.
Float Input 2: This value is the second float value and will only be used if the second nrrd port isn't connected.
Float Input 3: This value is the third float value and will only be used if the third nrrd port isn't connected.
Type : type to convert all input nrrds to prior to doing the operation. To leave it unchanged, check the 'Same as input type' checkbutton.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle
0
1539
1684
2006-11-01T04:19:01Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module reads a bundle from disk.
====Detailed Description====
This module reads a bundle from disk. A bundle file has a .bdl extension and can be written with the BundleWriter module. In a bdl file every component is stored. Hence it can be used to group a lot of different SCIRun objects together and store it as one file.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuAxdelete
0
1540
3679
2006-11-01T04:19:01Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuAxdelete'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Remove one or more singleton axes from a nrrd. Singleton axes have only a single sample along them. The underlying linear ordering of the samples is unchanged, and the information about the other axes is shifted downwards as needed.
====Detailed Description====
Remove one or more singleton axes from a nrrd. Singleton axes have only a single sample along them. The underlying linear ordering of the samples is unchanged, and the information about the other axes is shifted downwards as needed.
Axis: indicates the axis at which to delete the stub axis and should be an integer. If you give -1 as the axis, this will do a matlab-style squeeze, in which any and all singleton axes are removed.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuAxinfo
0
1541
3680
2006-11-01T04:19:07Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuAxinfo'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Modify attributes of a nrrd for a given axis. The only attributes which are set are the label, kind, minimum and maximum values, spacing, and spaceDirection.
====Detailed Description====
Modify attributes of a nrrd for a given axis. The only attributes which are set are the label, kind, minimum and maximum values, spacing, and spaceDirection.
The values given in the UI will be set to be the corresponding values of the new nrrd. In order for a given field to be set in the output nrrd, check the box next to the field. NOTE: If the min, max, and spacing values are invalid due to the new given values, the max point will be re-calculated using the min, spacing, and number of samples.
A NRRD's axis can either define spaceDirection and a spaceOrigin, or min and max points with spacing -- but not both. Therefore if the input NRRD has min, max, or spacing defined, you cannot set the spaceDirection vector. Or if the spaceDirection vector is set, you cannot set the min, max, or spacing.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap
0
1542
3681
2006-11-01T04:19:07Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadColorMap'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Steven G. Parker
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ColorMap Read a persistent colormap from a file on disk.
====Detailed Description====
A ColorMap maps scalar values to color values.Upon opening, the The ReadColorMap GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The current directory defaults to only show files with an .cmap extension which helps the user determine the difference between ColorMaps and other files.
However, the ReadColorMap can read-in a file with any extension so long as the data has the correct format. If the user attempts to read-in a file that is other than a SCIRun supported ColorMap, or uses an incorrect file format, an error message appears in the Error frame within the SCIRun enrvironment. Clicking the OK button will load the file and dismiss the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2
0
1543
3682
2006-11-01T04:19:11Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadColorMap2'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Steven G. Parker
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ColorMap2 Read a persistent 2d colormap from a file on disk.
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuAxinsert
0
1544
3683
2006-11-01T04:19:12Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuAxinsert'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Add a stub (length 1) axis to a nrrd. The underlying linear ordering of the samples is unchanged, and the information about the other axes is shifted upwards as needed.
====Detailed Description====
Add a stub (length 1) axis to a nrrd. The underlying linear ordering of the samples is unchanged, and the information about the other axes is shifted upwards as needed.
Axis: indicates the axis at which to insert the new axis and should be an integer.
Label: is the string label to associate with the new axis.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField
0
1545
3684
2006-11-01T04:19:17Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Alexei Samsonov
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ReadField allows the user to load-in any of the SCIRun supported Field types and then sends that Field to another module.
====Detailed Description====
Upon opening, the ReadField GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The current directory defaults to only show files with an .fld extension which helps the user determine the difference between Fields and other files. However, the ReadField can read-in a file with any extension so long as the data has the correct format. If the user attempts to read-in a file that is other than a SCIRun supported Field, or uses an incorrect file format, an error message appears in the Error frame within the SCIRun enrvironment. Clicking the OK button will load the file and dismiss the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuAxmerge
0
1546
3685
2006-11-01T04:19:17Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuAxmerge'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Merge two adjacent axes into one. A more general version of unu axdelete. The underlying linear ordering of the samples is unchanged, and the information about the other axes is shifted downwards as needed.
====Detailed Description====
Merge two adjacent axes into one. A more general version of unu axdelete. The underlying linear ordering of the samples is unchanged, and the information about the other axes is shifted downwards as needed.
Axis: One or more integers separated by white space. Each axis index identified is the lower of the pair of axes that will be merged. Saying axis 2 means to merge axis 2 and axis 3 into axis 2. If multiple merges are to be done, the indices listed here are for the axes prior to any merging.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix
0
1547
3686
2006-11-01T04:19:22Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Steven G. Parker
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ReadMatrix moudle reads a persistent matrix from a file and sends that matrix to another module.
====Detailed Description====
Upon opening, the The ReadMatrix GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The current directory defaults to only show files with an .mat extension which helps the user determine the difference between matrix files and other files. However, the ReadMatrix can read-in a file with any extension so long as the data has the correct format. If the user attempts to read-in a file that is other than a SCIRun supported Matrix, or uses an incorrect file format, an error message appears in the Error frame within the SCIRun enrvironment. Clicking the OK button will load the file and dismiss the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuAxsplit
0
1548
3687
2006-11-01T04:19:22Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuAxsplit'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Split one axis into two axes. More general version of unu axinsert, since a given axis can be split into fast and slow axes of arbitrary size, as long as the product of the fast and slow sizes is the same as the original size.
====Detailed Description====
Split one axis into two axes. More general version of unu axinsert, since a given axis can be split into fast and slow axes of arbitrary size, as long as the product of the fast and slow sizes is the same as the original size.
Axis: specify the axis to split at. This value should be an integer.
Fast Axis Size: specify the fast axis size to produce when splitting.
Slow Axis Size: specify the slow axis size to produce when splitting.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuCCadj
0
1549
3688
2006-11-01T04:19:27Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuCCadj'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Form adjecency matrix of connected components. This operates on the output of ccfind. Output is unsigned char array containing 1 at locations (I,J) and (J,I) if CCs with ids I and J are adjacent, according to the chosen style of adjacency.
====Detailed Description====
Form adjecency matrix of connected components. This operates on the output of ccfind. Output is unsigned char array containing 1 at locations (I,J) and (J,I) if CCs with ids I and J are adjacent, according to the chosen style of adjacency.
Connectivity : indicates what kind of connectivity to use, or the number of coordinates that vary in order to traverse the neighborhood of a given sample. In 2D: 1: 4-connected, 2: 8-connected. This value should be represented by an integer.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath
0
1550
3689
2006-11-01T04:19:27Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReadPath'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Dave Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ReadPath module reads a persistent camera path from a file.
====Detailed Description====
Upon opening, the The ReadPath GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The current directory defaults to only show files with an .path extension which helps the user determine the difference between Paths and other files. However, the ReadPath can read-in a file with any extension so long as the data has the correct format. If the user attempts to read-in a file that is other than a Path, or uses an incorrect file format, an error message appears in the Error frame within the SCIRun enrvironment. Clicking the OK button will load the file and dismiss the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo
0
1111
3250
1573
2006-11-01T04:19:32Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportBundleInfo'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module lists all the objects stored in a bundle.
====Detailed Description====
This module lists all the objects stored in a bundle. The names of all the objects are listed as well their types.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuCCfind
0
1551
3690
2006-11-01T04:19:33Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuCCfind'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Find connected components (CCs). This works on 1-byte and 2-byte integral values, as well as 4-byte ints.
====Detailed Description====
Find connected components (CCs). This works on 1-byte and 2-byte integral values, as well as 4-byte ints.
Type: type to use for output, to store the CC ID values. If Use smallest for output type is checked, the type used will be the smallest of uchar, ushort, or int, that can represent all the CC ID values. Using this option allows one to specify the integral type to be used.
Connectivity : indicates what kind of connectivity to use, or the number of coordinates that vary in order to traverse the neighborhood of a given sample. In 2D: 1: 4-connected, 2: 8-connected. This value should be represented by an integer.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuCCmerge
0
1552
3691
2006-11-01T04:19:38Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuCCmerge'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Merge CCs with their neighbors, under various contraints. This operates on the output of "ccfind". Merging of a CC is always done into its largest neighbor. Whether or not to merge can be constrained by one or more of: CC size (-s), original CC value being brighter or darker (-d), and number of neighbors (-n).
====Detailed Description====
>Merge CCs with their neighbors, under various contraints. This operates on the output of "ccfind". Merging of a CC is always done into its largest neighbor. Whether or not to merge can be constrained by one or more of: CC size (-s), original CC value being brighter or darker (-d), and number of neighbors (-n).
Value Driven Merging : do value-driven merging. Options include dark islands get merged with bright surrounds, bright surrounds get merged into dark islands, or the default which indicates that merging can go either way.
Max Size : a cap on the CC size that will be absorbed into its surround. CCs larger than this are deemed too significant to mess with. Or, a value of 0 removes any such restriction on merging.
Max Neighbors : a cap on the number of neighbors that a CC may have if it is to be be merged. A value of 1 allows only islands to be merged, a value of 2 does merging with bigger of two neighbors, etc, while a value of 0 says that number of neighbors is no constraint.
Connectivity : what kind of connectivity to use: the number of coordinates that vary in order to traverse the neighborhood of a given sample. In 2D: 1 : 4-connected, 2 : 8-connected
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit
0
1553
3692
2006-11-01T04:19:38Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportColumnMatrixMisfit'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Compute and visualize error between two vectors.
====Detailed Description====
Compute and visualize error between two vectors.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuCCsettle
0
1554
3693
2006-11-01T04:19:43Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuCCsettle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Remap CC values down to lowest contiguous values.
====Detailed Description====
Remap CC values down to lowest contiguous values.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures
0
1555
3694
2006-11-01T04:19:43Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportFieldGeometryMeasures'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: MiscField
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
====Detailed Description====
ReportFieldGeometryMeasures outputs a NxM matrix filled with values associated with the input mesh measures at selected mesh locations.
First the user selects the measues location in the top half of the UI. The number of measure locations equals the number of rows (N) in the output matrix.
Then the user selects what measures are sampled at each location in the bottom half of the UI. The number of measures selected equals the number of columns (M) in the output matrix.
Description of Measures:
X position - The X coordinate of the center of the measure location.
Y position - The Z coordinate of the center of the measure location.
Z position - The Z coordinate of the center of the measure location.
Index - The index used by the code to reference the measure location.
Valence - The # of similar measure locations that share a connection with the measure location. This varies by mesh and is not defned in all circumstances and thus equals 0 in these cases.
Size - The Euclidean Volume of the measure element. Ex: length for edges or 0.0 for points.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuCmedian
0
1556
3695
2006-11-01T04:19:48Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuCmedian'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Cheap histogram-based median filtering
====Detailed Description====
Cheap histogram-based median filtering. Only works on 1, 2, or 3 dimensional data. The window over which filtering is done is always square, and only a simplistic weighting scheme is available. The filtering works by forming a histogram of the values in the window, and updating it as the window slides through the volume. Because of this histogramming, precision will be lost on anything other than 8-bit data (assuming a sane # bins). Also, this is "cheap" because it doesn't do any filtering on the border (as defined by radius). values at these locations are simply copied from input.
The filter is applied as if there were always scalars. For example if you have a Vector set along the first dimension, then your Vectors x component is in the first position, y the second, z the third along the tuple axis. Each component gets the filter applied independently.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo
0
1557
3696
2006-11-01T04:19:49Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportFieldInfo'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: MiscField
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ReportFieldInfo is used to view the attributes of fields.
====Detailed Description====
ReportFieldInfo is purely an informational Module. It performs no modification on input data. Upon execution it displays attributes about the input field in the UI.
Field Attributes displayed:
Name - The Field name. May be blank.
Generation - The Field internal object id.
Typename - The C++ typename of the input Field Type.
Center - The X,Y,Z coordinates of the average center of the nodes in the Field.
Size - The X,Y,Z coordinates of the grid-aligned bounding box that encloses the Field.
Data min,max - Only valid for scalar type input fields. Prints the respective min and max scalar values of the data associated with the input field.
# Nodes - The number of X,Y,Z points in the input field.
# Elements - The number of highest dimension elements in the input field. Ex. For a PointCloudField this would equal the number of nodes. For a TetVolField this would equal the number of tetrahedral cells in the input field.
Data at - The location of the data values associated with the input field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuConvert
0
1558
3697
2006-11-01T04:19:54Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuConvert'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
====Detailed Description====
Convert nrrd to another type (as if by per-value cast). This does not transform, scale, clamp, or intelligently quantize values; it just copies them from one type to another, which replicates exactly what you'd get in C when you assign from a variable of one type to another, or when you cast to a differet type. See also unu quantize,unu 2op x, and unu 3op clamp.
New Type : specify the type to convert to.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo
0
1559
3698
2006-11-01T04:19:54Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportMatrixInfo'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ReportMatrixInfo is used to view the attributes of matrices.
====Detailed Description====
ReportMatrixInfo is purely an informational Module. It performs no modification on input data. Upon execution it displays attributes about the input matrix in the UI.
Matrix Attributes displayed:
Name - The Matrix name. May be blank.
Generation - The Matrix internal object id.
Typename - The C++ typename of the input Matrix Type.
# Rows - The number of rows in the input matrix.
# Columns - The number of columns in the input matrix.
# Elements - The size of the matrix. This is Rows x Columns for non sparse matrices. For sparse matrices this is the number of nonzero elements in the array.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures
0
1127
3266
1574
2006-11-01T04:19:59Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportMeshQualityMeasures'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Jason Shepherd
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Nodal movement to improve mesh quality.
====Detailed Description====
The ReportMeshQualityMeasures module is used to calculate multiple mesh quality metrics and report these metrics to the user. The Sandia National Laboratories VERDICT library (http://cubit.sandia.gov/verdict.html) performs the metric calculations.
Metric descriptions are taken from VERDICT as follows (descriptions are by element type.)
Description of Tetrahedral Quality Measures
Function Name Dimension Full Range Acceptable Range Reference ------------- ---------- -------- --------------- --------- Aspect Ratio Bet L^0 1 to inf 1 to 3 1 Aspect Ratio Gam L^0 1 to inf 1 to 3 1 Element Volume L^3 -inf to +inf None 1 Condition No. L^0 1 to inf 1 to 3 2 Jacobian L^3 -inf to inf None 2 Scaled Jacobian L^0 -1.414 to +1.414 0.5 to +1.414 2 Shape L^0 0 to 1 0.2 to 1 3 Relative Size L^0 0 to 1 0.2 to 1 3 Shape and Size L^0 0 to 1 0.2 to 1 3 Distortion L^2 -1 to 1 0.6 to 1 4 ------------- ---------- -------- -------------- ---------
Approximate Tetrahedral Quality Definitions: Aspect Ratio Beta: CR / (3.0 * IR) where CR = circumsphere radius, IR = inscribed sphere radius Aspect Ratio Gamma: Srms**3 / (8.479670*V) where Srms = sqrt(Sum(Si**2)/6), Si = edge length Element Volume: (1/6) * Jacobian at corner node Condition No. Condition number of the Jacobian matrix at any corner Jacobian: Minimum pointwise volume at any corner Scaled Jacobian: Minimum Jacobian divided by the lengths of 3 edge vectors Shape: 3/Mean Ratio of weighted Jacobian matrix Relative Size: Min( J, 1/J ), where J is determinant of weighted Jacobian matrix Shape and Size: Product of Shape and Relative Size Distortion: {min(|J|)/actual volume}*parent volume, parent volume = 1/6 for tet
References for Tetrahedral Quality Measures: 1. V. N. Parthasarathy et al, A comparison of tetrahedron quality measures, Finite Elem. Anal. Des., Vol 15(1993), 255-261. 2. P. Knupp, Achieving Finite Element Mesh Quality via Optimization of the Jacobian Matrix Norm and Associated Quantities, Intl. J. Numer. Meth. Engng. 2000, 48:1165-1185. 3. P. Knupp, Algebraic Mesh Quality Metrics for Unstructured Initial Meshes, submitted for publication. 4. SDRC/IDEAS Simulation: Finite Element Modeling--User's Guide
Description of Hexahedral Quality Measures
Function Name Dimension Full Range Acceptable Range Reference ------------- ---------- ----- --------------- --------- Aspect Ratio L^0 1 to inf 1 to 4 1 Skew L^0 0 to 1 0 to 0.5 1 Taper L^0 0 to +inf 0 to 0.4 1 Element Volume L^3 -inf to +inf None 1 Stretch L^0 0 to 1 0.25 to 1 2 Diagonal Ratio L^0 0 to 1 0.65 to 1 3 Dimension L^1 0 to inf None 1 Condition No. L^0 1 to inf 1 to 8 4 Jacobian L^3 - inf to inf None 4 Scaled Jacobian L^0 -1 to +1 0.5 to 1 4 Shear L^0 0 to 1 0.3 to 1 5 Shape L^0 0 to 1 0.3 to 1 5 Relative Size L^0 0 to 1 0.5 to 1 5 Shear and Size L^0 0 to 1 0.2 to 1 5 Shape and Size L^0 0 to 1 0.2 to 1 5 Distortion L^2 -1 to 1 0.6 to 1 6 ------------- ---------- ----- ---------------- ---------
Approximate Hexahedral Quality Definitions: Aspect Ratio: Maximum edge length ratios at hex center. Skew: Maximum |cos A| where A is the angle between edges at hex center. Taper: Maximum ratio of lengths derived from opposite edges. Element Volume: Jacobian at hex center. Stretch: Sqrt(3) * minimum edge length / maximum diagonal length. Diagonal Ratio: Minimum diagonal length / maximum diagonal length. Dimension: Pronto-specific characteristic length for stable time step calculation. Char_length = Volume / 2 grad Volume. Condition No. Maximum condition number of the Jacobian matrix at 8 corners. Jacobian: Minimum pointwise volume of local map at 8 corners and center of hex. Scaled Jacobian: Minimum Jacobian divided by the lengths of the 3 edge vectors. Shear: 3/Mean Ratio of Jacobian Skew matrix Shape: 3/Mean Ratio of weighted Jacobian matrix Relative Size: Min( J, 1/J ), where J is determinant of weighted Jacobian matrix Shear and Size: Product of Shear and Relative Size Shape and Size: Product of Shape and Relative Size Distortion: {min(|J|)/actual volume}*parent volume, parent volume = 8 for hex
References for Hexahedral Quality Measures: 1. L.M. Taylor, and D.P. Flanagan, Pronto3D - A Three Dimensional Transient Solid Dynamics Program, SAND87-1912, Sandia National Laboratories, 1989. 2. FIMESH code 3. Unknown 4. P. Knupp, Achieving Finite Element Mesh Quality via Optimization of the Jacobian Matrix Norm and Associated Quantities, Intl. J. Numer. Meth. Engng. 2000, 48:1165-1185. 5. P. Knupp, Algebraic Mesh Quality Metrics for Unstructured Initial Meshes, submitted for publication. 6. SDRC/IDEAS Simulation: Finite Element Modeling--User's Guide
Description of Triangular Quality Measures
Function Name Dimension Full Range Acceptable Range Reference ------------- ---------- --------- --------------- --------- Element Area L^2 0 to inf None 1 Maximum Angle degrees 60 to 180 60 to 90 1 Minimum Angle degrees 0 to 60 30 to 60 1 Condition No. L^0 1 to inf 1 to 1.3 2 Scaled Jacobian L^0 -1.155 to +1.155 0.5 to 1.155 2 Relative Size L^0 0 to 1 0.25 to 1 3 Shape L^0 0 to 1 0.25 to 1 3 Shape and Size L^0 0 to 1 0.25 to 1 3 Distortion L^2 -1 to 1 0.6 to 1 4 ------------- ---------- -------- --------------- ---------
Approximate Triangular Quality Definitions: Element Area: (1/2) * Jacobian at corner node Maximum Angle: Maximum included angle in triangle Minimum Angle: Minimum included angle in triangle Condition No. Condition number of the Jacobian matrix Scaled Jacobian: Minimum Jacobian divided by the lengths of 2 edge vectors Relative Size: Min( J, 1/J ), where J is determinant of weighted Jacobian matrix Shape: 2/Condition number of weighted Jacobian matrix Shape and Size: Product of Shape and Relative Size Distortion: {min(|J|)/actual area}*parent area, parent area = 1/2 for triangular element
References for Triangular Quality Measures: 1. Traditional. 2. P. Knupp, Achieving Finite Element Mesh Quality via Optimization of the Jacobian Matrix Norm and Associated Quantities, Intl. J. Numer. Meth. Engng. 2000, 48:1165-1185. 3. P. Knupp, Algebraic Mesh Quality Metrics for Unstructured Initial Meshes, submitted for publication. 4. SDRC/IDEAS Simulation: Finite Element Modeling--User's Guide
Description of Quadrilateral Quality Measures
Function Name Dimension Full Range Acceptable Range Reference ------------- ---------- ----- --------------- --------- Aspect Ratio L^0 1 to inf 1 to 4 1 Skew L^0 0 to 1 0 to 0.5 1 Taper L^0 0 to inf 0 to 0.7 1 Warpage L^0 0 to 1 0.9 to 1.0 1 Element Area L^2 -inf to +inf None 1 Stretch L^0 0 to 1 0.25 to 1 2 Minimum Angle degrees 0 to 90 45 to 90 3 Maximum Angle degrees 90 to 360 90 to 135 3 Condition No. L^0 1 to inf 1 to 4 4 Jacobian L^2 - inf to inf None 4 Scaled Jacobian L^0 -1 to +1 0.5 to 1 4 Shear L^0 0 to 1 0.3 to 1 5 Shape L^0 0 to 1 0.3 to 1 5 Relative Size L^0 0 to 1 0.3 to 1 5 Shear and Size L^0 0 to 1 0.2 to 1 5 Shape and Size L^0 0 to 1 0.2 to 1 5 Distortion L^2 -1 to 1 0.6 to 1 6 ------------- ---------- ----- -------------- ---------
Approximate Quadrilateral Quality Definitions: Aspect Ratio: Maximum edge length ratios at quad center Skew: Maximum |cos A| where A is the angle between edges at quad center Taper: Maximum ratio of lengths derived from opposite edges Warpage: Cosine of Minimum Dihedral Angle formed by Planes Intersecting in Diagonals Element Area: Jacobian at quad center Stretch: Sqrt(2) * minimum edge length / maximum diagonal length Minimum Angle: Smallest included quad angle (degrees). Maximum Angle: Largest included quad angle (degrees). Condition No. Maximum condition number of the Jacobian matrix at 4 corners Jacobian: Minimum pointwise volume of local map at 4 corners and center of quad Scaled Jacobian: Minimum Jacobian divided by the lengths of the 2 edge vectors Shear: 2/Condition number of Jacobian Skew matrix Shape: 2/Condition number of weighted Jacobian matrix Relative Size: Min( J, 1/J ), where J is determinant of weighted Jacobian matrix Shear and Size: Product of Shear and Relative Size Shape and Size: Product of Shape and Relative Size Distortion: {min(|J|)/actual area}*parent area, parent area = 4 for quad
References for Quadrilateral Quality Measures: 1. J. Robinson, CRE Method of element testing and the Jacobian shape parameters, Eng. Comput., Vol 4, 1987. 2. FIMESH code. 3. Unknown. 4. P. Knupp, Achieving Finite Element Mesh Quality via Optimization of the Jacobian Matrix Norm and Associated Quantities, Intl. J. Numer. Meth. Engng. 2000, 48:1165-1185. 5. P. Knupp, Algebraic Mesh Quality Metrics for Unstructured Initial Meshes, submitted for publication. 6. SDRC/IDEAS Simulation: Finite Element Modeling--User's Guide
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuCrop
0
1560
3699
2006-11-01T04:19:59Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuCrop'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): David Weinstein, Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Create an output nrrd that is a subsample of the original.
====Detailed Description====
Crop preserves dimension. After first execution, the user interface has correct values, and will perform a crop that produces the identical nrrd as was input. The min and max pairs per axis in the user interface are the sample indecies that you wish to crop. In the case that the min or max are out of bounds, the min and max will reset to the bounding box and the input nrrd will be output.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats
0
1561
3700
2006-11-01T04:20:04Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportScalarFieldStats'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: MiscField
:Author(s): Kurt Zimmerman
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Analyze data from a scalarfield.
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuDhisto
0
1562
3701
2006-11-01T04:20:04Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuDhisto'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Create (PGM) image of 1-D value histogram
====Detailed Description====
Create (PGM) image of 1-D value histogram
Height: height of output image (horizontal size is determined by number of bins in input histogram). This value should be an integer.
Show log-scaled hisogram: will show the log-scaled histogram with decade tick-marks.
Max Number of Hits: constrain the top of the drawn histogram to be at this number of hits. This will either scale the drawn histogram downward or clip its top, depending on whether the given max is higher or lower than the actual maximum bin count. This value should be a double. This value is only used when Use Max Number of Hits is checked. If not checked, the actual maximum bin count is used.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuFlip
0
1563
3702
2006-11-01T04:20:09Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuFlip'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Reverse order of slices along one axis. Special case of unu shuffle.
====Detailed Description====
Reverse order of slices along one axis. Special case of unu shuffle.
Axis: the axis to flip along.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo
0
1564
3703
2006-11-01T04:20:09Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportSearchGridInfo'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: MiscField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Output a LatVolField that matches the search grid of the input field.
====Detailed Description====
Output a LatVolField that matches the search grid of the input field. This is primarily useful for debugging search grid related problems.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo
0
1565
3704
2006-11-01T04:20:15Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ReportStringInfo'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module can be used to display the contents of a string.
====Detailed Description====
This module shows the contents of a string.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuGamma
0
1566
3705
2006-11-01T04:20:16Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuGamma'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Brighten or darken values with a gamma. Just as in xv, the gamma value here is actually the reciprocal of the exponent actually used to transform the values.
====Detailed Description====
Brighten or darken values with a gamma. Just as in xv, the gamma value here is actually the reciprocal of the exponent actually used to transform the values.
Gamma: gamma greater than 1.0 brightens, gamma less than 1.0 darkens. Negative gammas invert values (like in xv). This value should be a double.
Min: Value at low end of histogram. This value should be a double. To use the lowest value found in the input nrrd, check the Use lowest value of input nrrd as min checkbox. In this case the min value will be disregarded.
Max: Value at high end of histogram. This value should be a double. To use the highest value found in the input nrrd, check the Use highest value of input nrrd as max checkbox. In this case the max value will be disregarded.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap
0
1567
3706
2006-11-01T04:20:19Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''RescaleColorMap'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Steven G. Parker
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
====Detailed Description====
In the GUI, the Auto Scale check box uses the minimum and maximum values found in the ScalarField and maps the ColorMap to that range. The Fixed Scale check box allows the user to manually select for the range of scalar values to which the colors map by adjusting the minimum and maximum values in the appropriate text fields. After changing the range to which the colors map, a new ColorMap passes downstream to the connecting module.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuHeq
0
1568
3707
2006-11-01T04:20:20Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuHeq'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Perform histogram equalization. If this seems to be doing nothing, try increasing the number of histograms bins by an order of magnitude or two (or more). Or, use "unu gamma" to warp the values in the direction you know they need to go. Either of these might work because extremely tall and narrow peaks in the equalization histogram will produce poor results.
====Detailed Description====
Perform histogram equalization. If this seems to be doing nothing, try increasing the number of histograms bins by an order of magnitude or two (or more). Or, use "unu gamma" to warp the values in the direction you know they need to go. Either of these might work because extremely tall and narrow peaks in the equalization histogram will produce poor results.
Bins: the number of bins to use in histogram that is created in order to calculate the mapping that achieves the equalization. (int)
SBins: the number bins in value histogram to ignore in calculating the mapping. Bins are ignored when they get more hits than other bins, and when the values that fall in them are constant. This is an effective way to prevent large regions of background value from distorting the equalization mapping. default: "0"
Amount: extent to which the histogram equalizing mapping should be applied; 0.0: no change, 1.0: full equalization (float); default: "1.0"
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget
0
1569
3708
2006-11-01T04:20:25Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SelectFieldROIWithBoxWidget'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: MiscField
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Select data from a field.
====Detailed Description====
This module allows the user to paint values into a field using a selection widget. The output field contains integer values that correspond to the values selected in the GUI when the painting was done.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuHistax
0
1570
3709
2006-11-01T04:20:25Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuHistax'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Replace each scanline along an axis with its histogram.
====Detailed Description====
Replace each scanline along an axis with its histogram.
Axis: axis to histogram along (int).
Bins: the number of bins in histogram (int).
Type: output type; default: nrrdTypeUChar.
Min: Value at low end of histogram and should be a double. To disregard this value and use the lowest value of the input nrrd, check Use lowest value of input nrrd as min.
Max: Value at high end of histogram. Should also be a double. To disregard this value and use the highest value of the input nrrd, check Use highest value of input nrrd as max.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues
0
1571
3710
2006-11-01T04:20:30Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SetFieldDataValues'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Examples
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Most basic example manipulating Field data in a SCIRun module.
====Detailed Description====
Get a Field from the input port and change all the scalar values to be an input value from the modules gui, and send the field downstream.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuHisto
0
1572
3711
2006-11-01T04:20:30Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuHisto'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Create 1-D histogram of values in a nrrd.
====Detailed Description====
Create 1-D histogram of values in a nrrd.
Weight Nrrd: Nrrd indicating how to weigh contributions to joint histogram. By default (not passing in this Nrrd), the increment is one bin count per sample, but by giving a nrrd, the value in the nrrd at the corresponding location will be the bin count increment.
Bins: Number of bins in histogram. This should be an integer.
Min: Value at low end of histogram. This value should be a double. To disregard this value and use the lowest value of the input nrrd, check Use lowest value of input nrrd as min.
Max: Value at high end of histogram. This value should be a double. To disregard this value and use the highest value of the input nrrd, check Use highest value of input nrrd as max.
Type: nrrd type to use in output histogram. The default is uint.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty
0
1573
3712
2006-11-01T04:20:35Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SetFieldOrMeshStringProperty'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: MiscField
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Set a Property for a Field (or for its mesh).
====Detailed Description====
Set a Property for a Field or Mesh. The property can then be used by downstream modules to determine various things about the field. This module is only used for editing string properties.
The properties most commonly set are:
name: The name of the field or mesh.
units: What units are used when measuring a mesh.
Properties are generally used for domain specific information, such that the number used in the base SCIRun module set is quite limited.
There are also several properties which are not currenty editable with this module. These include the multi-value properties and properties which are not just strings. These include the minmax property which is a cache of the min and max values for a field, and the conductivities_table which contains conductivities for an indexed field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuImap
0
1574
3713
2006-11-01T04:20:36Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuImap'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Map nrrd through *irregular* univariate map (colormap). A map is irregular if the control points are not evenly spaced along the domain, and hence their position must be explicitly represented in the map. As nrrds, these maps are necessarily 2D. Along axis 0, the first value is the location of the control point, and the remaining values give are the range of the map for that control point. The output value(s) is the result of linearly interpolating between value(s) from the map.
====Detailed Description====
Map nrrd through *irregular* univariate map (colormap). A map is irregular if the control points are not evenly spaced along the domain, and hence their position must be explicitly represented in the map. As nrrds, these maps are necessarily 2D. Along axis 0, the first value is the location of the control point, and the remaining values give are the range of the map for that control point. The output value(s) is the result of linearly interpolating between value(s) from the map.
Length of accelerator array: length of accelerator array, used to try to speed-up task of finding between which pair of control points a given value lies. Not terribly useful for small maps (about 10 points or less). Use 0 to turn accelorator off. This should be an integer.
Rescale to the Map Domain : indicates whether to rescale the input values from the input range to the map domain.
Min : Only used when rescaling to the Map Domain. Indicates the low end of input range. Should be a double. To disregard this value and use the lowest value of the input nrrd, check Use lowest value of input nrrd as min.
Max : Only used when rescaling to the Map Domain. Indicates the high end of input range. Should be a double. To disregard this value and use the highest value of the input nrrd, check Use highest value of input nrrd as max.
Type: Specify the type of the output nrrd. If Use map's type as output type is checked, this value will be disregarded and the map type will be used.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty
0
1575
3714
2006-11-01T04:20:41Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SetFieldProperty'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: MiscField
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Set a Property for a Field.
====Detailed Description====
Set a Property for a Field. The property can then be used by downstream modules to determine various things about the Field. This module is only used for editing string properties.
The properties most commonly set are:
name: The name of the Field.
units: What units are used when measuring a Field.
Properties are generally used for domain specific information, such that the number used in the base SCIRun module set is quite limited.
There are also several properties which are not currenty editable with this module. These include the multi-value properties and properties which are not just strings. These include the minmax property which is a cache of the min and max values for a Field, and the conductivities_table which contains conductivities for an indexed Field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuInset
0
1576
3715
2006-11-01T04:20:41Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuInset'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Replace a sub-region with a different nrrd. This is functionally the opposite of crop.
====Detailed Description====
Replace a sub-region with a different nrrd. This is functionally the opposite of crop.
InputNrrd is the Nrrd to have data inset into.
SubRegionNrrd is the Nrrd data to be inset into the InputNrrd.
Min should contain the coordinates of where to locate the sub-volume within the InputNrrd. This value must be a list of integers (separated by white space).
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuJhisto
0
1577
3716
2006-11-01T04:20:46Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuJhisto'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Create joint histogram of two or more nrrds. Each axis of the output corresponds to one of the input nrrds, and each bin in the output records the number of corresponding positions in the inputs with a combination of values represented by the coordinates of the bin.
====Detailed Description====
Create joint histogram of two or more nrrds. Each axis of the output corresponds to one of the input nrrds, and each bin in the output records the number of corresponding positions in the inputs with a combination of values represented by the coordinates of the bin.
Bins : bins(i) is the number of bins to use along axis i (of joint histogram), which represents the values of InputNrrd(i). This should be two or more integers separated by white space.
Mins : min(i) is the low range of values to be quantized along axis i; use nan to represent lowest value present. This should be two more more double separated by white space (except when using nan).
Maxs : max(i) is the high range of values to be quantized along axis i; use nan to represent highest value present. This should be two or more double separated by white space (except when using nan).
Type : nrrd type to use for output (the type used to store hit counts in the join histogram). Clamping is done on hit counts so that they never overflow a fixed-point type.
WeightNrrd : An optional input indicating how to weigh contributions to joint histogram. If this port is not connected, the increment is one bin count per sample, but by giving a nrrd, the value in the nrrd at the corresponding location will be the bin count increment.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues
0
1578
3717
2006-11-01T04:20:46Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SetTetVolFieldDataValues'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Examples
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Most basic example manipulating Field data in a SCIRun module.
====Detailed Description====
Get a Field from the input port and change all the scalar values to be an input value from the modules gui, and send the field downstream.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuJoin
0
1579
3718
2006-11-01T04:20:51Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuJoin'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
module interface for nrrdJoin function.
====Detailed Description====
The number of input nrrds vary. Attempt to join all the nrrds along the user specified axis, and output that NrrdData. This module can be used to create sets of data. You can use this module like unu_join <slink text="http://www.cs.utah.edu/~gk/teem/unrrdu/join.html"></slink>
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero
0
1580
3719
2006-11-01T04:20:51Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SetTetVolFieldDataValuesToZero'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Examples
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Most basic example manipulating Field data in a SCIRun module.
====Detailed Description====
Get a Field from the input port and print out the pointer to the field when executed, zero all the scalar values, and send the field downstream.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuLut
0
1581
3720
2006-11-01T04:20:57Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuLut'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Map nrrd through univariate lookup table (itself represented as a nrrd). The lookup table can be 1D, in which case the output has the same dimension as the input, or 2D, in which case the output has one more dimension than the input, and each value is mapped to a scanline (along axis 0) from the lookup table.
====Detailed Description====
Map nrrd through univariate lookup table (itself represented as a nrrd). The lookup table can be 1D, in which case the output has the same dimension as the input, or 2D, in which case the output has one more dimension than the input, and each value is mapped to a scanline (along axis 0) from the lookup table.
Rescale to the Lookup Table : indicates whether to rescale the input values from the input range to the lut domain. The lut domain is either explicitly defined by the axis min,max along axis 0 or 1, or, it is implicitly defined as zero to the length of that axis.
Min : Only used when rescaling to Lookup Table. Indicates the low end of input range. Should be a double. To disregard this value and use the lowest value of the input nrrd, check Use lowest value of input nrrd as min.
Max : Only used when rescaling to Lookup Table. Indicates the high end of input range. Should be a double. To disregard this value and use the highest value of the input nrrd, check Use highest value of input nrrd as max.
Type: Specify the type of the output nrrd. If Use lut's type as output type is checked, this value will be disregarded and the lut type will be used.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget
0
1582
3721
2006-11-01T04:20:57Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ShowAndEditCameraWidget'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Render
:Author(s): McKAy Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
?
====Detailed Description====
?
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuMake
0
1583
3722
2006-11-01T04:21:04Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuMake'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Create a nrrd (or nrrd header) from scratch. The data can be in one or more files, or coming from stdin. This provides an easy way of providing the bare minimum information about some data so as to wrap it in a nrrd, either to pass on for further unu processing, or to save to disk. However, with -h , this creates only a detached nrrd header file, without ever reading or writing data. When reading multiple files, each file must contain the data for one slice along the slowest axis. Nearly all the options below refer to the finished nrrd resulting from joining all the slices together, with the exception of -ls , -bs , and -e , which apply to every input slice file. When reading data from many seperate files, it may be easier to put their filenames in a response file; there can be one or more filenames per line of the response file.
====Detailed Description====
Create a nrrd (or nrrd header) from scratch. The data can be in one or more files, or coming from stdin. This provides an easy way of providing the bare minimum information about some data so as to wrap it in a nrrd, either to pass on for further unu processing, or to save to disk. However, with -h , this creates only a detached nrrd header file, without ever reading or writing data. When reading multiple files, each file must contain the data for one slice along the slowest axis. Nearly all the options below refer to the finished nrrd resulting from joining all the slices together, with the exception of -ls , -bs , and -e , which apply to every input slice file. When reading data from many seperate files, it may be easier to put their filenames in a response file; there can be one or more filenames per line of the response file.
Write Header : Check to write out a .nhdr file. This file can be specified by browsing to it by clicking the Specify Header File button.
Kind : Specify the kind of the first axis. Other axes kinds may be set using MODULE REFERENCE.
Size : Specify the sizes separated by a single space. This indicates the number of samples along each axis.
Spacing : These float values will indicate the spacing between samples. These should be separated by white space.
Labels : Short string labels for each axis. These labels should be separated by a space.
Content :Specifies the content string of the nrrd, which is built upon by many nrrd function to record a history of operations.
Line Skip : number of ascii lines to skip before reading data
Byte Skip : number of bytes to skip (after skipping ascii lines, if any) before reading data. Can use -bs -1 to skip a binary header of unknown length in raw-encoded data.
Endoding :output file format. Possibilities include raw, ascii, text, hex.
Endianness : Endianness of data; relevent for any data with value representation bigger than 8 bits, with a non-ascii encoding: little for Intel and friends; big for everyone else. Defaults to endianness of this machine.
Kev Value Pairs : key/value string pairs to be stored in nrrd. Each key/value pair must be a single string.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap
0
1584
3723
2006-11-01T04:21:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ShowColorMap'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Display a ColorMap with index values.
====Detailed Description====
ShowColorMap creates a geometry overlay containing the input colormap and numerical values for it's range.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField
0
1585
3724
2006-11-01T04:21:10Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ShowField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
====Detailed Description====
The field in the first input port holds the mesh that is to be visualized. It only needs to have a mesh, in which case it will be rendered in the default color, which is editable from the UI. If there is a color map attached to port 2, and there is valid data in field, then the data serves as an index into the color map, and the mesh is rendered with appropriate colors.
Nodes can be rendered as spheres, axes, or as points. Edges can be rendered as lines or cylinders. All of which have editable size. Faces and text can be rendered or not.
If the Orientation Field contains Vector data, then that field is used to draw vectors or oriented glyphs. These can then be colored with the values derived from the first input port. In order for the vectors to be colored properly, the Field and Orientation Field ports must share the same mesh and have data at the same locations.
ShowField uses the dynamic loader to compile and load a RenderField Algorithm templated on field type. RenderField does all the rendering work, it loads the scene graph to be rendered.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuMinmax
0
1586
3725
2006-11-01T04:21:10Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuMinmax'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuAtoM
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Print out min max values in one or more nrrds
====Detailed Description====
Print out min and max values in one or more nrrds. Unlike other modules, this doesn't produce a nrrd. It only prints to the UI the min and max values found in the input nrrd(s)
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix
0
1587
3726
2006-11-01T04:21:15Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ShowMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Display a matrix as geometry.
====Detailed Description====
Display a matrix as geometry.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuPad
0
1588
3727
2006-11-01T04:21:16Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuPad'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): David Weinstein, Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Pad the size of a nrrd along its axes.
====Detailed Description====
The user interface for NrrdPad varies depending upon the dimenion of the input nrrd. For each axis, the user inputs the amount to prepend and append to the axis. NrrdPad outputs a new NrrdData of the specified size.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox
0
1589
3728
2006-11-01T04:21:22Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ShowMeshBoundingBox'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
====Detailed Description====
ShowMeshBoundingBox queries the generic mesh interface to get the BBox of the Field, and then renders a "cage" of that bounding box. The user specifies nx/ny/nz (number of "bars" in each direction) via text entry in UI. The cage is rendered with red/green/blue lines corresponding to x/y/z.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuPermute
0
1590
3729
2006-11-01T04:21:22Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuPermute'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): David Weinstein, Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Specify axes to be swapped with eachother
====Detailed Description====
Specify in the UI which axes are to be swapped with eachother.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString
0
1591
1696
2006-11-01T04:21:27Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ShowString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module puts the contents of a string in the viewer window.
====Detailed Description====
This module is able to display multiple lines of information in the viewer window. The module takes a string as input and displays the contents on top of the viewer window. If there are 'newlines' in the string multiple lines are displayed (up to ten lines). In the GUI the font size and color can be altered as well as the location of where to plot the text. This module is intended to provide the user with a means to put any arbitrary information about the data being shown on the display.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuProject
0
1592
3731
2006-11-01T04:21:29Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuProject'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
====Detailed Description====
Collapse scanlines to scalars along some axis. The scanline is reduced to a single scalar by "measuring" all the values in the scanline with some measure. The output nrrd has dimension one less than input; the output type depends on the measure in a non-trivial way.
Axis : the axis to project along. This should be an integer.
Projection Measure : How to measure a scanline, by summarizing all its values with a single scalar.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices
0
1593
3732
2006-11-01T04:21:33Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ShowTextureSlices'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Kurt Zimmerman, Milan Ikits, Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module is used to view slices of data using hardware 3D textures.
====Detailed Description====
The ShowTextureSlices module is used to view slices of data using hardware 3D textures and volume rendering techniques.
Under Standard tab, select the X, Y, Z and or View plane and use the "+" and "-" buttons to move the cutting planes. The X, Y, and Z planes can also be moved with a selection widget displayed in the view window.
Under Cylindrical tab, select Phi-0, Phi-1, and or Z plane. The "+" and "-" buttons move only the Z plane. The Phi-0 and Phi-1 planes are controlled by entries in the gui. The selection widget in the view window, allows user control of the Z plane and locates the rotation points for Phi-0 and Phi-1 planes.
The Interplation Mode allows the user to select between linear interpolation "Interpolate" and nearest neighbor interpolation "Nearest".
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuQuantize
0
1594
3733
2006-11-01T04:21:34Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuQuantize'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): David Weinstein, Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Quantize values into 8, 16, 32 bit values.
====Detailed Description====
Given an input nrrd, output a nrrd that is of type unsigned char, unsigned short, unsigned int (8,16,32 bit) values. The input values are clamped to be in the range of the min and max values specified in the user interface. By default, the min and max of the input will be used. This is indicated by the 'Use lowest/highest value of input as min/max'. To specify different min max, uncheck the above checkbox and input the values in the entry. The current min/max values will be displayed after initial execution.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume
0
1595
3734
2006-11-01T04:21:38Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ShowTextureVolume'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Kurt Zimmerman, Milan Ikits, Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module implements a volume renderer using 3D texture hardware.
====Detailed Description====
The VolumeViewer module implements a volume renderer for SCIRun using 3D texture hardware.
The Basic frame allows the selection of standard (Over Operator) or maximum intensity projection (MIP) rendering styles. It also allows for selection of 16 or 32 bit blending modes, however in the future this option will be moved to the visual selection in the MODULE REFERENCE. There is also a selection for Trilinear or Nearest interpolation and a slider for changing the opacity of the volume. Software ColorMap2 Rasterization can be forced on in the unusual event that the default rendering mode does not work.
The Sampling frame allows the user to change the sampling rate for interactive and non-interactive use. The number is a multiplier and the formula used to compute the actual number of slices is "rate * sqrt(nx * nx + ny * ny + nz * nz) / sqrt(3.0)", or approximately Sampling Rate slices per texture element. Adaptive sampling refers to the rate at which the volume is sampled while the viewer is being interacted with.
The Shading frame is used to control the lighting properties of the volume visualization. The Shading button toggles lighting of the volume's drawn elements and the material is used to modulate the lighting color. This option requires that the texture be built with normals. It also requires a graphics card with fragment shader support.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuResample
0
1596
3735
2006-11-01T04:21:39Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuResample'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): David Weinstein, Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Resample a nrrd to a new size.
====Detailed Description====
Given an input nrrd, and options specified in the UI for NrrdResample, generate a newly sampled nrrd. Size specification can be absolute or based on a multiplier (see UI).
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuReshape
0
1597
3736
2006-11-01T04:21:44Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuReshape'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Superficially change dimension and/or axes sizes. The underlying linear ordering of the samples is unchanged, but the reported dimension or axes sizes are changed. Identical in concept to Matlab's reshape command.
====Detailed Description====
New axes sizes should be input as a string of integers separated by white space.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem
0
1598
3737
2006-11-01T04:21:51Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SolveLinearSystem'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): Steven G. Parker
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
====Detailed Description====
We support several different iteratve solution techniques within SCIRun, including Jacobi, Conjugate Gradient, and Biconjugate Gradient.
As the module iteratively approaches the solution, a graphical user interface depicts the norm of the residual. This feedback allows the user to visually confirm whether a solution is converging, and if so how quickly. It also provides a convenient interface for specifying a convergrence threshold, as the user can interactively raise of lower the maximum acceptable error tolerance in real-time. As the solver is converging, the module can send out the current guess at the solution and continue to iterate; this intermediate result is passed downstream to dependent modules, and can be useful for visualizing how a system is physically converging.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuRmap
0
1599
3738
2006-11-01T04:21:51Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuRmap'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Map nrrd through *regular* univariate map (colormap). A map is regular if the control points are evenly spaced along the domain, and hence their position isn't explicitly represented in the map; the axis min, axis max, and number of points determine their location. The map can be a 1D nrrd (for grayscale), in which case the output has the same dimension as the input, or a 2D nrrd (for color), in which case the output has one more dimension than the input. In either case, the output is the result of linearly interpolating between map points, either scalar values (grayscale), or scanlines along axis 0 (color).
====Detailed Description====
Map nrrd through *regular* univariate map (colormap). A map is regular if the control points are evenly spaced along the domain, and hence their position isn't explicitly represented in the map; the axis min, axis max, and number of points determine their location. The map can be a 1D nrrd (for grayscale), in which case the output has the same dimension as the input, or a 2D nrrd (for color), in which case the output has one more dimension than the input. In either case, the output is the result of linearly interpolating between map points, either scalar values (grayscale), or scanlines along axis 0 (color).
Rescale to the Map Domain : rescale the input values from the input range to the map domain. The map domain is either explicitly defined by the axis min,max along axis 0 or 1, or, it is implicitly defined as zero to one minus the length of that axis.
Min : Only used when rescaling to the Map Domain. Indicates the low end of input range. Should be a double. To disregard this value and use the lowest value of the input nrrd, check Use lowest value of input nrrd as min.
Max : Only used when rescaling to the Map Domain. Indicates the high end of input range. Should be a double.To disregard this value and use the highest value of the input nrrd, check Use highest value of input nrrd as max.
Type: Specify the type of the output nrrd. If Use map's type as output type is checked, this value will be disregarded and the map type will be used.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuRmapN
0
1600
3739
2006-11-01T04:21:56Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuRmapN'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Map nrrd through *regular* univariate map (colormap). A map is regular if the control points are evenly spaced along the domain, and hence their position isn't explicitly represented in the map; the axis min, axis max, and number of points determine their location. This is an N dimensional mapping in that the fast axis of the nrrd is used to look up coordinates in the N or N+1 map. If the map is of dimension N then it is assumed to be grayscale, otherwise all of the fast axis is treated as a 'color'. This module does no interpolation, rather the nrrd coordinates should exactly match the range of the colormap nrrd dimensions, ie 0-255 for a 1D map of size 256.
====Detailed Description====
Map nrrd through *regular* univariate map of N dimension (colormap). A map is regular if the control points are evenly spaced along the domain, and hence their position isn't explicitly represented in the map; the axis min, axis max, and number of points determine their location.
This is an N dimensional mapping in that the fast axis of the nrrd is used to look up coordinates in the N or N+1 map. For instance if the fast axis is size three, then the map should contain 3 dimensions for grayscale or 4 dimensions where the fast dimension is the 'color'. It is byte copied so the 'color' can really be any opaque data type.
No interpolation is done by this module. Instead the mapping coordinates should be the exact zero based index into the mapping index that is to be used. For example, given a 1D colormap of size 256, the input nrrd should contain values between 0 and 255. The output nrrd will have the same dimensionality as the input but the data will be replaced with the fast axis data from the input nrrd.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem
0
1601
3740
2006-11-01T04:21:56Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SolveMinNormLeastSqSystem'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes the minimal norm, least squared solution to a nx3 linear system.
====Detailed Description====
This module computes the minimal norm, least squared solution to a nx3 linear system.
Given four input ColumnMatrices (v0,v1,v2,b), find the three coefficients (w0,w1,w2) that minimize: | (w0v0 + w1v1 + w2v2) - b |. If more than one minimum exisits (the system is under-determined), choose the coefficients such that (w0,w1,w2) has minimum norm. We output the vector (w0,w1,w2) as a row-matrix, and we ouput the ColumnMatrix (called x), which is: | w0v0 + w1v1 + w2v2 |.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuSave
0
1602
3741
2006-11-01T04:22:02Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuSave'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Write nrrd with specific format, encoding, or endianness. EPS output is a EPSF-3.0 file with BoundingBox and HiResBoundingBox DSC comments, and is suitable for inclusion into other PostScript documents. As a stand-alone file, the image is conveniently centered on an 8.5x11 inch page, with 0.5 inch margins.
====Detailed Description====
Write nrrd with specific format, encoding, or endianness. EPS output is a EPSF-3.0 file with BoundingBox and HiResBoundingBox DSC comments, and is suitable for inclusion into other PostScript documents. As a stand-alone file, the image is conveniently centered on an 8.5x11 inch page, with 0.5 inch margins.
Format: output file format. Possibilities include: nrrd : standard nrrd format; png : PNG image; pnm : PNM image; PPM for color, PGM for grayscale; text : plain ASCII text for 1-D and 2-D data; vtk : VTK "STRUCTURED_POINTS" dataset; eps : EPS file
Encoding : encoding of data in file. Not all encodings are supported in a given format. Possibilities include: raw : raw encoding; ascii : print data in ascii; hex : two hex digits per byte
Endian : Endianness to save data out as; little for Intel and friends; big for everyone else. Defaults to endianness of this machine.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName
0
1603
3742
2006-11-01T04:22:02Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SplitFileName'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module splits a filename in: pathname, filename (base), and extension.
====Detailed Description====
This module splits a filename in: pathname, filename (base), and extension. To get the full filename back, just merge the three resulting strings together.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries
0
1128
3267
1575
2006-11-01T04:22:08Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SwapFieldDataWithMatrixEntries'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Add and remove data from a field.
====Detailed Description====
This module performs two simultanious operations. First the "Input Field" is split into it's mesh part it's data values. The data values are packaged up and passed to the "Output Matrix" port. Second the input field geometry is joined with the data from the Input Matrix, and the result is passed out on the "Output Field" port. If the input matrix is not present, then the second operation is not performed and the Output Field is the same as the Input Field.
The format of the "Output Matrix" will be a column matrix if the nput field was of scalar type. It will be an Nx3 matrix if the input field contained vectors. If the field contained tensors it will be Nx9 matrix, where the tensor is flattened out in left to right, top to bottom order. Column 0 contains (0, 0), column 1 contains (0, 1), column 2 contains (0,2), column 3 contains (1, 0), etc.
The "Input Matrix" should have the same number of values as the field where the values are to be stored. The type of the Iutput Field is preserved in the Output field as well. So for instance if the input field is a vector field, the Output Field will also be a vector field, and the input matrix should be an Nx3 matrix where N is equal to the number of elements to be filled in.
Feb 11, 2004: The module now will try to preserve the scalar type of the field, so if you pass it in a TetVolField of integers and a row matrix, it will return a TetVolField of integers. If the types are not convertible then you will still get a default Vector,Tensor, or double field as appropriate. If you need the old behavior use MODULE REFERENCE to convert the input field to double type before passing it in.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuShuffle
0
1604
3743
2006-11-01T04:22:08Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuShuffle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Permute slices along one axis.
====Detailed Description====
Permute slices along one axis.
Slices along one axis are re-arranged as units according to the given permutation (or its inverse). The permutation tells which old slice to put at each new position. For example, the shuffle 0-1, 1-2, 2-0 would be 2 0 1.
New Slice Ordering: one or more integers separated by white space indicating the new slice ordering.
Use Inverse of Given Permutation checkbox will use the inverse of the permutation given above.
Axis indicates the axis to shuffle along.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuSlice
0
1605
3744
2006-11-01T04:22:14Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuSlice'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
====Detailed Description====
Slice at a position along an axis. Output nrrd dimension is one less than input nrrd dimension. Per-axis information is preserved.
Axis : the axis to slice along, integer.
Position : the position to slice at, integer.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry
0
1606
3745
2006-11-01T04:22:18Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''SynchronizeGeometry'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Render
:Author(s): Kai Li
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Create a barrier to synchronize a set of geometry streams.
====Detailed Description====
Unlike the other modules in SCIRun, the Viewer module is asynchronous. That is, ViewWindows redraw as soon as any Geometry is added (or deleted) through any Viewer port. This is typically the desired behavior, as it keeps the visualizations optimally interactive. However, this is not desirable when creating animations, since a new animation frame is generated each time there is a redraw. On the contrary, when creating animations, users typically want only a single redraw per time-step, and that redraw should occur only when all of the scene geometry has been updated. The SynchronizeGeoemtry module provides precisely this mechanism. All of the Geometry that the user wishes to change synchronously with each frame of the animation (e.g. updated isosurfaces, streamlines, psuedo-colored surface potential maps, etc) are passed through the SynchronizeGeometry module before being passed into the Viewer. As updated Geometries are sent to SynchronizeGeometry, it stores them in a buffer until all of the inputs have been received; it then sends them to the Viewer as a single atomic group, which results in a single redraw event (and thus a single new frame for the animation).
A geometry stream is composed of multiple geometry samples. Each geometry sample is created by calling GeometryOPort:: delObj() and/or GeometryOPort::addObj() one or more times. All geometry samples with the same virtual sequence number in differenct streams must reach the barrier before they can all proceed. The boundary of geometry samples is the GeometryFlush or GeometryFlushViews message, which is sent out explicitly by calling functions like GeometryOPort:: flushViews(), or implicitly by SCIRun after you did some geometry operations (delete or add) in Module::execute() but did not call any flush messages. With a checkbox in the control panel, users can dynamically choose whether or not to enforce the barrier.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuSplice
0
1607
3746
2006-11-01T04:22:19Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuSplice'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Replace a slice with a different nrrd. This is functionally the opposite of slice.
====Detailed Description====
Replace a slice with a different nrrd. This is functionally the opposite of slice.
The InputNrrd is the nrrd into which the slice will be inserted.
The SliceNrrd is the nrrd slice to be inserted into the InputNrrd.
The axis indicates the axis to splice along and should be an integer.
The position indicates the position to splice at. It must be an integer.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuSwap
0
1608
3747
2006-11-01T04:22:26Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuSwap'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Interchange scan-line ordering of two axes. Special case of unu permute.
====Detailed Description====
Interchange scan-line ordering of two axes. Special case of unu permute.
Axis A and Axis B should be integer values representing the two axes to be switched.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls
0
1609
3748
2006-11-01T04:22:26Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TimeControls'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Time
:Author(s): Martin Cole
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Global time controls.
====Detailed Description====
Allows downstream modules the ability to synchronize itself with a global notion of time.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction
0
1610
3749
2006-11-01T04:22:32Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TransformMeshWithFunction'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Perform a specified functional transform on all of the points in a field.
====Detailed Description====
Compute the specified function on each point in the input field.
The mesh transform is specified in the GUI as the body of a C++ function. The input values to the function is 'p'. No value is returned, rather set the 'result' variable to the return point. For example, "result = Point(p.x() + 5, p.y(), p.z());" would return a new field translated by 5 in the X direction.
This module does not work on the mesh types that do not contain any implicit points. This includes LatVolMesh, ImageMesh, and ScanlineMesh. The function will not compile but give an error about set_point being undefined.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:UnuUnquantize
0
1611
3750
2006-11-01T04:22:32Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnuUnquantize'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: UnuNtoZ
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Recover floating point values from quantized data.
====Detailed Description====
Recover floating point values from quantized data.
InputNrrd - Nrrd to unquantize.
OutputNrrd - Unquantized output Nrrd.
Min = Lowest value prior to quantization. If Use Input's Min is checked, use the InputNrrd's oldMin if it exists, otherwise 0.0 (double).
Max = Highest value prior to quantization. If Use Input's Max is checked, use the the InputNrrd's oldMax if it exists, otherwise 1.0 (double).
Checkbox "Output as type double" should be checked if the user wishes to use double for output type, instead of float.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform
0
1612
3751
2006-11-01T04:22:37Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TransformMeshWithTransform'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Non-interactive geometric transform of a field.
====Detailed Description====
This module is used to non-interactively transform the geometry of a field. The transform is passed in to the "Transform Matrix" port as a 4x4 matrix. There is no GUI for this module. The transform is generally computed by a different module, such as MODULE REFERENCE. For interactive geometry transforms use the MODULE REFERENCE module.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:Teem:WriteNrrd
0
1613
3752
2006-11-01T04:22:37Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WriteNrrd'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
:Catagory: DataIO
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Output the NrrdData object via Pio.
====Detailed Description====
Save a serialized NrrdData object, which in turn saves the nrrd file that it wraps. So the end result is two saved files. Note that these files live side by side, the NrrdData will not load properly if they are moved, as it holds the full path to the nrrd it wraps. The .nrrd file can of course be relocated on its own, and used as any other nrrd independently from the NrrdData (.nd) file.
To save out just a nrrd or some other format, use MODULE REFERENCE.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Teem|Teem]]
CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh
0
1614
3753
2006-11-01T04:22:46Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''TransformPlanarMesh'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeMesh
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Non-interactive geometric transform of a field.
====Detailed Description====
This module is used to non-interactively transform the geometry of a field. The transform is passed in to the "Transform Matrix" port as a 4x4 matrix. There is no GUI for this module. The transform is generally computed by a different module, such as MODULE REFERENCE. For interactive geometry transforms use the MODULE REFERENCE module.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices
0
1616
3755
2006-11-01T04:22:52Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ViewAndEditSlices'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Render
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
====Detailed Description====
The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph
0
1617
3756
2006-11-01T04:22:59Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ViewGraph'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Render
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Renders input Nx2 matrices in a 2D graph
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene
0
1618
3757
2006-11-01T04:23:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ViewScene'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Render
:Author(s): Steven G. Parker
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
====Detailed Description====
Autoview restores the display back to a default condition. This is very useful when objects disappear from the view window due to a combination of settings.
Set Home View captures the setting of the current view so you can return to it later by clicking the "Go home" button.
Go home restores the current home view.
Views lists a number of standard viewing angles and orientations. The view directions align with the Cartesian axes of the objects. The ``Up vector'' choice sets the orientation of the objects when viewed along the selected axis.
From the ViewScene window, the left corner of the control panel contains performance indicators that document the current rendering speed for the display. More advanced graphics performance results in a higher drawing rate.
A small plus sign (``+'') appears in the lower right corner of the ViewScene window. Clicking on the plus sign reveals the extended control panel.
For further documentation see <rlink text="../../../doc/User/Guide/usersguide/srug5.html">Visualization with the ViewScene</rlink>.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices
0
1619
3758
2006-11-01T04:23:10Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ViewSlices'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Render
:Author(s): McKay Davis
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle
0
1620
1687
2006-11-01T04:23:15Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WriteBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module writes a bundle to disk.
====Detailed Description====
This module writes a bundle to disk. A bundle file has a .bdl extension and can be written with the WriteBundle module and can be read with the BundleReader module. In a bdl file every component is stored. Hence it can be used to group a lot of different SCIRun objects together and store it as one file.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap
0
1621
3760
2006-11-01T04:23:20Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WriteColorMap'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Steven G. Parker
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Save persistent representation of a colormap to a file.
====Detailed Description====
Upon opening, the WriteColorMap GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The user can enter the name of a file that the matrix saves to. The file should have a .cmap extension. The default file name is MyColorMap. The user may choose to save the file in either Binary or ASCII file format.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2
0
1622
3761
2006-11-01T04:23:24Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WriteColorMap2'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Steven G. Parker
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Save persistent representation of a colormap to a file.
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField
0
1623
3762
2006-11-01T04:23:29Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WriteField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Alexei Samsonov
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Saves persistent field objects received from upstream modules.
====Detailed Description====
Upon opening, the WriteField GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The user can enter the name of a file that the matrix saves to. The file should have a .fld extension. The default file name is MyField. The user may also choose between a Binary or ASCII file format.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix
0
1624
3763
2006-11-01T04:23:34Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WriteMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Steven G. Parker
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The WriteMatrix modules saves a persistent representation of a matrix to disk.
====Detailed Description====
Upon opening, the WriteMatrix GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The user can enter the name of a file that the matrix saves to. The file should have a .mat extension. The default file name is MyMatrix. The user may also choose between a Binary or ASCII file format. The Split check box option splits the reader file and matrix data into two files.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath
0
1625
3764
2006-11-01T04:23:39Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''WritePath'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Dave Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The WritePath module saves persistent representation of a path to a file.
====Detailed Description====
Upon opening, the WritePath GUI defaults to the directory that the user sets for their SCIRUN_DATA environment variable. Otherwise, the GUI will default to the directory where the user's SCIRun executable resides. The user can enter the name of a file that the path saves to. The file should have a .path extension. The default file name is MyCameraPath. The user may also choose between a Binary or ASCII file format.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:CardioWave
0
1626
3765
2006-11-01T04:24:49Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CardioWave Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''ContinuousBiDomain'''===
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:CBDAddMembrane|CBDAddMembrane]]
:This module lets the user add a geometry with a specific model.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:CBDAddReference|CBDAddReference]]
:This module defines where the reference electrode is located.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:CBDAddStimulus|CBDAddStimulus]]
:This module defines the location of the stimulus electrodes.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:CBDBuildSimulation|CBDBuildSimulation]]
:Build a CardioWave Simulation. This module uses the create SimulationBundle and from it creates all the files needed to compile and run a CardioWave simulation.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:CBDCreateDomain|CBDCreateDomain]]
:This module creates the domain for the discrete multidomain computation.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:CBDCreateSimulation|CBDCreateSimulation]]
:Bundle all the information needed to build a CardioWave simulation.
==='''DiscreteMultiDomain'''===
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:DMDAddDomainElectrodes|DMDAddDomainElectrodes]]
:This module defines electrode positions for detailed time recordings.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:DMDAddMembrane|DMDAddMembrane]]
:This module lets the user add a geometry with a specific model.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:DMDAddMembraneElectrodes|DMDAddMembraneElectrodes]]
:This module defines electrode positions for detailed time recordings.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:DMDAddReference|DMDAddReference]]
:This module defines where the reference electrode is located.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:DMDAddStimulus|DMDAddStimulus]]
:This module defines the location of the stimulus electrodes.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:DMDAddStimulusSeries|DMDAddStimulusSeries]]
:This module defines the location of the stimulus electrodes.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:DMDBuildSimulation|DMDBuildSimulation]]
:Build a CardioWave Simulation. This module uses the create SimulationBundle and from it creates all the files needed to compile and run a CardioWave simulation.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:DMDConductionVelocity|DMDConductionVelocity]]
:This module computes the conduction velocity.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:DMDCreateDomain|DMDCreateDomain]]
:This module creates the domain for the discrete multidomain computation.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:DMDCreateSimulation|DMDCreateSimulation]]
:Bundle all the information needed to build a CardioWave simulation.
==='''Model'''===
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:BuildMembraneTable|BuildMembraneTable]]
:Test module.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:BuildStimulusTable|BuildStimulusTable]]
:Test module.
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:BuildStimulusTableByElement|BuildStimulusTableByElement]]
:Test module.
==='''TissueModel'''===
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:RegularBundle|RegularBundle]]
:This module generates a regular tissue bundle.
==='''Tools'''===
;[[CIBC:Documentation:SCIRun:Reference:CardioWave:UnpackState|UnpackState]]
:Unpack the CardioWave StateVariable vector Q.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CBDAddMembrane
0
1627
3766
2006-11-01T04:26:40Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CBDAddMembrane'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: ContinuousBiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module lets the user add a geometry with a specific model.
====Detailed Description====
This module lets the user add a geometry with a specific model.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CBDAddReference
0
1628
3767
2006-11-01T04:26:44Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CBDAddReference'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: ContinuousBiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines where the reference electrode is located.
====Detailed Description====
This module defines where the reference electrode is located. This module specifies the area/volume of the module that is set to a certain potential. Depending on the field input the geometry a surface or a volume is set to a certain potential.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CBDAddStimulus
0
1629
3768
2006-11-01T04:26:49Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CBDAddStimulus'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: ContinuousBiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines the location of the stimulus electrodes.
====Detailed Description====
This module defines the location of the stimulus electrodes.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CBDCreateDomain
0
1630
3769
2006-11-01T04:26:53Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CBDCreateDomain'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: ContinuousBiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module creates the domain for the discrete multidomain computation.
====Detailed Description====
This module creates the domain for the discrete multidomain computation. The module needs two input fields named Conductivity and ElementType. The field Conductivty describes the conductivity throughout the domain and needs to have the mesh as ElementType which describes the layout of the domains. ElementType contains integer values and each domain is defined as the elements with the same the value in elementtype. Before one can use the field it is good to split the the field into regions that connect elements of the same type, but do not connect elements from different domains. Use the module SplitFieldByElementData to split the field properly.
All other inputs are optional: ConductivityTable specifies the conductivies in case the Conductivity field is indexed into a table. One can use the BioPSE definitions here as well and hence this field is optional and not needed if the field already has a conductivity table. GeomToComp and CompToGeom specify the geometrical mesh to comptutational grid mapping. In theory only on of these needs to be computed as the other one will be automatically generated. However if one has both tables it is more efficient to supply both. Note that the LinkFieldBoundary and LinkFieldBoundaryByElement modules already assign these properties to the fields. Use these inputs only if you want to do any manually collapsing of nodes into one computational node. The last input MembraneLink is mapping matrix that contains information on whether Membranes need to be linked over the boundary. This mapping matrix is automatically generated by LinkFieldBoundaryByElement.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CBDGenerateSimulation
0
1631
3770
2006-11-01T04:26:57Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CBDGenerateSimulation'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: ContinuousBiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Build a CardioWave Simulation. This module uses the create SimulationBundle and from it creates all the files needed to compile and run a CardioWave simulation.
====Detailed Description====
Build a CardioWave Simulation. This module uses the create SimulationBundle and from it creates all the files needed to compile and run a CardioWave simulation.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CBDSetupSimulation
0
1632
3771
2006-11-01T04:27:01Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CBDSetupSimulation'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: ContinuousBiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Bundle all the information needed to build a CardioWave simulation.
====Detailed Description====
Bundle all the information needed to build a CardioWave simulation.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CreateRegularBundle
0
1633
3772
2006-11-01T04:27:05Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CreateRegularBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: TissueModel
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module generates a regular tissue bundle.
====Detailed Description====
This module generates a regular tissue bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDAddDomainElectrodes
0
1634
3773
2006-11-01T04:27:10Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDAddDomainElectrodes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines electrode positions for detailed time recordings.
====Detailed Description====
This module defines electrode positions for detailed time recordings.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDAddMembrane
0
1635
3774
2006-11-01T04:27:14Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDAddMembrane'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module lets the user add a geometry with a specific model.
====Detailed Description====
This module lets the user add a geometry with a specific model.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDAddMembraneElectrodes
0
1636
3775
2006-11-01T04:27:18Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDAddMembraneElectrodes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines electrode positions for detailed time recordings.
====Detailed Description====
This module defines electrode positions for detailed time recordings.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDAddReference
0
1637
3776
2006-11-01T04:27:22Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDAddReference'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines where the reference electrode is located.
====Detailed Description====
This module defines where the reference electrode is located. This module specifies the area/volume of the module that is set to a certain potential. Depending on the field input the geometry a surface or a volume is set to a certain potential.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface
0
1090
1729
1576
2006-11-01T04:27:24Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''MatlabInterface Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportBundlesToMatlab|ExportBundlesToMatlab]]
:The ExportBundlesToMatlab Module saves a SCIRun NRRD object into a MATLAB .mat file.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportDatatypesToMatlab|ExportDatatypesToMatlab]]
:The ExportDatatypesToMatlab Module saves a SCIRun Field object into a MATLAB .mat file.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportFieldsToMatlab|ExportFieldsToMatlab]]
:The ExportFieldsToMatlab Module saves a SCIRun Field object into a MATLAB .mat file.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportMatricesToMatlab|ExportMatricesToMatlab]]
:The ExportMatricesToMatlab module saves a SCIRun matrix in a MATLAB .mat file
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportNrrdsToMatlab|ExportNrrdsToMatlab]]
:The ExportNrrdsToMatlab Module saves a SCIRun NRRD object into a MATLAB .mat file.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportBundlesFromMatlab|ImportBundlesFromMatlab]]
:The ImportBundlesFromMatlab module reads a matrix from a MATLAB .mat file and exports it as a bundle
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportColorMapsFromMatlab|ImportColorMapsFromMatlab]]
:The ImportColorMapsFromMatlab module reads a matrix from a MATLAB file
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportDatatypesFromMatlab|ImportDatatypesFromMatlab]]
:The ImportDatatypesFromMatlab module reads SCIRun fields, SCIRun Matrices, and SCIRun Nrrds from a MATLAB file. The module requires that the data in the MATLAB file is formatted according to the guidelines described below.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportFieldsFromMatlab|ImportFieldsFromMatlab]]
:The ImportFieldsFromMatlab module reads a SCIRun field from a MATLAB file. The module requires that the data in the MATLAB file is formatted according to the guidelines described below.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportMatricesFromMatlab|ImportMatricesFromMatlab]]
:The ImportMatricesFromMatlab module reads a matrix from a MATLAB file
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportNrrdsFromMatlab|ImportNrrdsFromMatlab]]
:The ImportNrrdsFromMatlab module reads a matrix from a MATLAB .mat file and exports it as a Nrrd
==='''Interface'''===
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab|InterfaceWithMatlab]]
:Interactive InterfaceWithMatlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlabViaBundles|InterfaceWithMatlabViaBundles]]
:Interactive Matlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects. The difference with the normal Matlab module is that this one uses bundles as input and output to allow for a more flexible interface. Since the use of bundles is more complicated, the Matlab module should be used if fields or matrices need to be adjusted. But for more complicated projects, this module allows for more flexibility.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDAddStimulus
0
1638
3777
2006-11-01T04:27:26Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDAddStimulus'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines the location of the stimulus electrodes.
====Detailed Description====
This module defines the location of the stimulus electrodes.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDAddStimulusSeries
0
1639
3778
2006-11-01T04:27:31Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDAddStimulusSeries'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines the location of the stimulus electrodes.
====Detailed Description====
This module defines the location of the stimulus electrodes.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDCreateDomain
0
1640
3779
2006-11-01T04:27:35Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDCreateDomain'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module creates the domain for the discrete multidomain computation.
====Detailed Description====
This module creates the domain for the discrete multidomain computation. The module needs two input fields named Conductivity and ElementType. The field Conductivty describes the conductivity throughout the domain and needs to have the mesh as ElementType which describes the layout of the domains. ElementType contains integer values and each domain is defined as the elements with the same the value in elementtype. Before one can use the field it is good to split the the field into regions that connect elements of the same type, but do not connect elements from different domains. Use the module SplitFieldByElementData to split the field properly.
All other inputs are optional: ConductivityTable specifies the conductivies in case the Conductivity field is indexed into a table. One can use the BioPSE definitions here as well and hence this field is optional and not needed if the field already has a conductivity table. GeomToComp and CompToGeom specify the geometrical mesh to comptutational grid mapping. In theory only on of these needs to be computed as the other one will be automatically generated. However if one has both tables it is more efficient to supply both. Note that the LinkFieldBoundary and LinkFieldBoundaryByElement modules already assign these properties to the fields. Use these inputs only if you want to do any manually collapsing of nodes into one computational node. The last input MembraneLink is mapping matrix that contains information on whether Membranes need to be linked over the boundary. This mapping matrix is automatically generated by LinkFieldBoundaryByElement.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDGenerateSimulation
0
1641
3780
2006-11-01T04:27:39Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDGenerateSimulation'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Build a CardioWave Simulation. This module uses the create SimulationBundle and from it creates all the files needed to compile and run a CardioWave simulation.
====Detailed Description====
Build a CardioWave Simulation. This module uses the create SimulationBundle and from it creates all the files needed to compile and run a CardioWave simulation.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDSetupSimulation
0
1642
3781
2006-11-01T04:27:43Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDSetupSimulation'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Bundle all the information needed to build a CardioWave simulation.
====Detailed Description====
Bundle all the information needed to build a CardioWave simulation.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface|CardioWaveInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWave:BuildMembraneTable
0
1643
3782
2006-11-01T04:27:48Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''BuildMembraneTable'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: Model
:Author(s): Jeroen
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Test module.
====Detailed Description====
Test module.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:CardioWave:BuildStimulusTable
0
1644
3783
2006-11-01T04:27:52Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''BuildStimulusTable'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: Model
:Author(s): Jeroen
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Test module.
====Detailed Description====
Test module.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportBundlesToMatlab
0
1645
1715
2006-11-01T04:27:53Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ExportBundlesToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportBundlesToMatlab Module saves a SCIRun NRRD object into a MATLAB .mat file.
====Detailed Description====
====Module Description====
The ExportBundlesToMatlab module exports SCIRun Bundle objects into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file.
Setting up the GUI:
Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file.
Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB.
Execute the module and the file will be written.
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWave:BuildStimulusTableByElement
0
1646
3785
2006-11-01T04:27:56Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''BuildStimulusTableByElement'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: Model
:Author(s): Jeroen
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Test module.
====Detailed Description====
Test module.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportDatatypesToMatlab
0
1647
1718
2006-11-01T04:27:58Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ExportDatatypesToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportDatatypesToMatlab Module saves a SCIRun Field object into a MATLAB .mat file.
====Detailed Description====
====Module Description====
The ExportDatatypesToMatlab module exports SCIRun Field, Matrix, and Nrrd objects into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file. This module combines the functionality of the MatlabFieldsWriter, the MatlabMatricesWriter, and The MatlabNrrdsWriter.
Setting up the GUI:
Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file.
Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB.
Execute the module and the file will be written.
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWave:CBDAddMembrane
0
1648
3787
2006-11-01T04:28:02Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CBDAddMembrane'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: ContinuousBiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module lets the user add a geometry with a specific model.
====Detailed Description====
This module lets the user add a geometry with a specific model.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportFieldsToMatlab
0
1649
1719
2006-11-01T04:28:03Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ExportFieldsToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportFieldsToMatlab Module saves a SCIRun Field object into a MATLAB .mat file.
====Detailed Description====
====Module Description====
The ExportFieldsToMatlab module exports SCIRun Field objects into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file. All fields except for Scanline, Images, and LatVols will be stored as structured matrices. Only Scanlines, Images and LatVols have the possiblity to be stored as dense matrices. The format in which the fields are exported is described in the documentation of the MatlabFieldsReader module.
Setting up the GUI:
Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file.
Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB.
Execute the module and the file will be written.
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWave:CBDAddReference
0
1650
3789
2006-11-01T04:28:06Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CBDAddReference'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: ContinuousBiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines where the reference electrode is located.
====Detailed Description====
This module defines where the reference electrode is located. This module specifies the area/volume of the module that is set to a certain potential. Depending on the field input the geometry a surface or a volume is set to a certain potential.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportMatricesToMatlab
0
1651
1721
2006-11-01T04:28:07Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ExportMatricesToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportMatricesToMatlab module saves a SCIRun matrix in a MATLAB .mat file
====Detailed Description====
====Module Description====
The ExportMatricesToMatlab module exports SCIRun matrices into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file. Each of these matrices can be formatted into different formats. Firstly, the datatype of the matrix can be altered. Since matrices in matlab are able to use multiple dataformats, casting the data within the module may be a convenient way of saving space. Secondly, the module has the option to export the data as a structured matrix. This has the advantage that additional properties can be exported to matlab as well. Currently this feature is only used to export the values stored in the property manager, however future version may export more properties of the SCIRun matrix object.
Setting up the GUI:
Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file.
Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB.
Execute the module and the file will be written.
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportNrrdsToMatlab
0
1653
1722
2006-11-01T04:28:12Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ExportNrrdsToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportNrrdsToMatlab Module saves a SCIRun NRRD object into a MATLAB .mat file.
====Detailed Description====
====Module Description====
The ExportNrrdsToMatlab module exports SCIRun NRRD objects into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file. Each of these matrices can be formatted into different formats. Firstly, the datatype of the matrix can be altered. Since matrices in matlab are able to use multiple dataformats, casting the data within the module may be a convenient way of saving space. Secondly, the module has the option to export the data as a structured matrix. This has the advantage that additional properties can be exported to matlab as well. Currently this feature is only used to export the values stored in the property manager and the properties stored in the NRRD axis, like units, spacing, etc.
Setting up the GUI:
Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file.
Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB.
Execute the module and the file will be written.
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWave:CBDAddStimulus
0
1652
3791
2006-11-01T04:28:12Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CBDAddStimulus'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: ContinuousBiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines the location of the stimulus electrodes.
====Detailed Description====
This module defines the location of the stimulus electrodes.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportBundlesFromMatlab
0
1655
1723
2006-11-01T04:28:17Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ImportBundlesFromMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ImportBundlesFromMatlab module reads a matrix from a MATLAB .mat file and exports it as a bundle
====Detailed Description====
==== Module Description ====
This module reads a N-dimensional matrix from MATLAB .mat files and exports this matrix as a Bundle object. Currently only files from matlab version 5 and higher are supported by this module. The module reads dense matrices of any of the supported data classes in matlab (short, int, double, etc.). Sparse matrices however are not supported by this module. Use the MODULE REFERENCE module to read sparse matrices. In order to facilitate the selection process the module will list all matrices in the file that are compatible with the SCIRun Bundle class and will select the most obvious one as a default.
Follow the next two steps in order to setup the GUI properly:
Choose the MATLAB file that contains the matrix data. You can either use the BROWSE button to select a file or enter the filename in the filename entry on top of the GUI and press the OPEN button to list the contents of the file in the listbox in the center of the GUI.
Next the MATLAB matrices in the file need to be connected to an output port. In order to do this click on one of the PORT buttons and then select the MATLAB matrix you want to load on that outport. Note that for convenience the first suitable matrix in the file is automatically connected to port 1, when a MATLAB file is opened. Hence, if your file only contains one field, you can skip this step as the matrix will be selected automatically.
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWave:CBDBuildSimulation
0
1654
3794
2006-11-01T04:28:17Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CBDBuildSimulation'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: ContinuousBiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Build a CardioWave Simulation. This module uses the create SimulationBundle and from it creates all the files needed to compile and run a CardioWave simulation.
====Detailed Description====
Build a CardioWave Simulation. This module uses the create SimulationBundle and from it creates all the files needed to compile and run a CardioWave simulation.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportColorMapsFromMatlab
0
1657
1724
2006-11-01T04:28:22Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ImportColorMapsFromMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ImportColorMapsFromMatlab module reads a matrix from a MATLAB file
====Detailed Description====
====Module description====
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWave:CBDCreateDomain
0
1656
3796
2006-11-01T04:28:22Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CBDCreateDomain'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: ContinuousBiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module creates the domain for the discrete multidomain computation.
====Detailed Description====
This module creates the domain for the discrete multidomain computation. The module needs two input fields named Conductivity and ElementType. The field Conductivty describes the conductivity throughout the domain and needs to have the mesh as ElementType which describes the layout of the domains. ElementType contains integer values and each domain is defined as the elements with the same the value in elementtype. Before one can use the field it is good to split the the field into regions that connect elements of the same type, but do not connect elements from different domains. Use the module SplitFieldByElementData to split the field properly.
All other inputs are optional: ConductivityTable specifies the conductivies in case the Conductivity field is indexed into a table. One can use the BioPSE definitions here as well and hence this field is optional and not needed if the field already has a conductivity table. GeomToComp and CompToGeom specify the geometrical mesh to comptutational grid mapping. In theory only on of these needs to be computed as the other one will be automatically generated. However if one has both tables it is more efficient to supply both. Note that the LinkFieldBoundary and LinkFieldBoundaryByElement modules already assign these properties to the fields. Use these inputs only if you want to do any manually collapsing of nodes into one computational node. The last input MembraneLink is mapping matrix that contains information on whether Membranes need to be linked over the boundary. This mapping matrix is automatically generated by LinkFieldBoundaryByElement.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportDatatypesFromMatlab
0
1659
1725
2006-11-01T04:28:28Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ImportDatatypesFromMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ImportDatatypesFromMatlab module reads SCIRun fields, SCIRun Matrices, and SCIRun Nrrds from a MATLAB file. The module requires that the data in the MATLAB file is formatted according to the guidelines described below.
====Detailed Description====
====Module description====
This module takes a specially prepared MATLAB file and converts it into a SCIRun Field, Matrix, or Nrrd object. Currently only files from matlab version 5 and higher are supported by this module. The GUI of the module lets the user choose one MATLAB file and subsequently displays all the matrices inside the file. Currently the implementation only shows those MATLAB matrices for which a suitable converter exists, the other ones are not shown. Hence, if your MATLAB matrix does not show up in the selection window the module does not know how to translate the that data set into a SCIRun Field object. Since, a MATLAB file can contain multiple MATLAB matrices, the module is equipped with nine output ports. Three for SCIRun Fields, three for SCIRun matrices, and three for SCIRun Nrrds. By selecting the port the module will show which conversion options are available. This module is a combination of the MatlabFieldsReader, the MatlabNrrdsReader and the MatlabMatricesReader and is intended as a way of using one matlab file to specify fields and the accompaning data. Especially since time data cannot yet be stored in a field this module allows the time data to exist as a separate datastream from the same file. This will limit the amount of files that need to be reloaded when all the data is contained in one matlab file. Depending on how the user configures the module, each output port can represent one of the MATLAB matrices in the file. Hence, multiple geometries/fields/matrices/nrrds can be stored in the same MATLAB file.
Follow the next two steps in order to setup the GUI properly:
Choose the MATLAB file that contains the geometry/field/matrices/nrrds data. You can either use the BROWSE button to select a file or enter the filename in the filename entry on top of the GUI and press the OPEN button to list the contents of the file in the listbox in the center of the GUI.
Next the MATLAB matrices in the file need to be connected to an output port. In order to do this click on one of the FIELD/MATRIX/NRRD buttons and then select the MATLAB matrix you want to load on that outport. A FIELD port exports the data as a field, a MATRIX port as a scirun matrix and a NRRD port as a scirun nrrd object. Note that for convenience the first suitable matrix in the file is automatically for the FIELD 1 port. Matrices and nrrds need to be selected before they appear on an output port.
==== Preparing MATLAB files for SCIRun Fields ====
One crucial step for the conversion from MATLAB to SCIRun is a proper preparation of the data files. Since a SCIRun field object is a complex entity, a simple numeric dense matrix is difficult to translate. Hence, it is required that you build a STRUCTURED MATRIX in matlab with some of the fields listed below. Based on the fields that are supplied the data is converted in one of the many types of geometries available in SCIRun. The module will try to match the data you supplied with the closest Field object it finds.
The following sections describe the fields of the structure matrix can be defined and are recognized by the module.
====Unstructured Meshes ====
FIELDNAME .node This field is required for unstructured meshes and defines the position of the nodes within the mesh. This matrix should be a dense 3 by M matrix, where M is the number of nodes.
FIELDNAME .edge This field is required for curve meshes and defines the line elements in the mesh. This matrix should be a dense 2 by N matrix, where N is the number of line segments. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this EDGE matrix is zero, a zero base is assumed.
FIELDNAME .face This field is required for surfaces meshes and defines the surface elements in the mesh. This matrix should be a dense 3 by N matrix for triangulated meshes and a 4 by N matrix for quadsurf meshes. Here N is the number of surface elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this FACE matrix is zero, a zero base is assumed.
FIELDNAME .cell This field is required for volume meshes and defines the volume elements in the mesh. This matrix should be a dense 4 by N matrix for tetrahedral meshes, or a 6 by N matrix for prism shaped volume elements, or a 8 by N matrix for hexahedral elements. Here N is the number of volume elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this CELL matrix is zero, a zero base is assumed.
====Structured Meshes====
FIELDNAMES x , y , AND z The fields X, Y, and Z form the description of a structured mesh. These fields are 1D, 2D, or 3D matrices defining the structured line, surface, or volume data. The connectivity of these meshes is defined by the position of the matrix, neighboring elements are connected. In this definition matrix X defines the x cartesian co-ordinate of each node, matrix Y the y cartesian co-ordinate and matrix Z the z cartesian co-ordinate. This kind of definition is compatible with MATLAB functions such as ndmesh() and sphere().
====Structured regular Meshes====
As structured matlab arrays:
FIELDNAME .dims This field describes the dimensions of the regular grid and is required for making a regular structured mesh. This field is a vector with 1, 2, or 3 elements describing the dimensions in each direction. Hence depending on this field the module creates a line, a surface, or a volume. This field is required for structured regular meshes.
FIELDNAME .transform This field describes a 4x4 matrix which defines an affine transformation, which is applied to the mesh. This matrix describes rotation, translation and scaling of each node in the regular mesh. This field is optional and does not need to be supplied. In case on transform matrix is defined a regular grid with spacing of 1 in each direction will be generated. [NEED TO ADD MORE DETAILS]
As regular dense matrices:
ImageFields and LatVolFields can be entered as well as dense matrices. A 2D matrix will be translated into an ImageField, and a 3D matrix will be translated into a LatVolField. When entering data as regular matrices, the data is assumed to be on the nodes and to be a scalar double field.
Note: The displaying dimensions between matlab and SCIRun are flipped, in matlab the first dimension is along the vertical axis, whereas in SCIRun it is along the horizontal axis. Depending on the application the data may need to be transposed, in order to make to obtain the proper vertical alignment.
====Field Data====
FIELDNAME .field A matrix specifying scalar/vector/tensor data for each node/element in the mesh. Each subsequent element in this vector is added to the next node/element in the field. Use the field FIELDLOCATION to specify where the data should be located. The module detects the type of data. The tensor and respectively the vector dimension is assumed to be the first one.
FIELDNAME .fieldtype A string specifying the type of data stored in field. Currently three value are accepted: 'scalar', 'vector', and 'tensor'. If this type information is omitted it defaults to 'scalar'
FIELDNAME .fieldat The location of the data. This field is a string describing where the data should be located. The default field location is assumed to be the nodes, meaning each node has a scalar, vector, or tensor value. In case the data is at the nodes, this field does not to be specified. This field is a string with the following options: "node", "edge", "face", or "cell".
The way of specifying a field was different in version 1.22 of SCIRun. The modules still support input through the fields 'vectorfield', 'tensorfield', and 'scalarfield'. However to be compatible with future additions this has been changed to a combination of 'field' and 'fieldtype'. The new fieldwriters will use this convention instead of the old one.
The module will try to reconstruct data, for instance if a matrix is transposed, it will detect this and read the data properly. Most of the fields mentioned are optional and are not necessary. Only choose those fields from the list that are needed to describe your data. Currently not every field type supported by SCIRun is implemented in this module. Hopefully future versions will support more data types and have even less restrictive converters.
==== Example 1: preparing MATLAB file ====
The following lines of MATLAB code demonstrate how to structure a matrix for the use in SCIRun:
Assuming that the nodes are specified in nodematrix and the connectivity of these nodes is specified in facematrix
>> geom.node = nodematrix
>> geom.face = facematrix
>> save mymesh.mat geom
Opening the file with the MatlabFieldsReader module will show that there is one data matrix called "geom" whose contents is a TRISURFMESH with no data on any of the node points
In case MATLAB is not available to structure the data, use the MODULE REFERENCE module to read a MATLAB matrix data directly and use the MODULE REFERENCE module to construct a Field out of the Nrrd object.
==== Example 2: Creating a structured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab file with the matlab logo on a structured mesh:
>> [X,Y,DATA] = peaks(100);
>> field.x = X;
>> field.y = Y;
>> field.z = DATA;
>> field.scalarfield = DATA;
>> save myfield field
This will create a surface mesh in the shape of the peaks logo and uses the z value as its data values. Be sure to specify all the three cartensian coordinates, omitting one will result in the module not to recognise the mesh and it will not display the object in its selection box.
==== Exampe 3: Creating an unstructured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab fiel with an unstructured tesselated surface:
>> [X,Y,Z] = ndmesh(1:10,1:10,0);
>> field.node = [X(:)'; Y(:)'; Z(:)'];
>> field.face = delauney(X,Y);
>> field.scalarfield = X(:).^2;
>> save myfield2 field
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWave:CBDCreateSimulation
0
1658
3798
2006-11-01T04:28:28Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CBDCreateSimulation'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: ContinuousBiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Bundle all the information needed to build a CardioWave simulation.
====Detailed Description====
Bundle all the information needed to build a CardioWave simulation.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportFieldsFromMatlab
0
1661
1726
2006-11-01T04:28:34Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ImportFieldsFromMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ImportFieldsFromMatlab module reads a SCIRun field from a MATLAB file. The module requires that the data in the MATLAB file is formatted according to the guidelines described below.
====Detailed Description====
====Module description====
This module takes a specially prepared MATLAB file and converts it into a SCIRun Field object. Currently only files from matlab version 5 and higher are supported by this module. The GUI of the module lets the user choose one MATLAB file and subsequently displays all the matrices inside the file. Currently the implementation only shows those MATLAB matrices for which a suitable converter exists, the other ones are not shown. Hence, if your MATLAB matrix does not show up in the selection window the module does not know how to translate the that data set into a SCIRun Field object. Since, a MATLAB file can contain multiple MATLAB matrices, the module is equipped with six output ports. Depending on how the user configures the module, each output port can represent one of the MATLAB matrices in the file. Hence, multiple geometries/fields can be stored in the same MATLAB file.
Follow the next two steps in order to setup the GUI properly:
Choose the MATLAB file that contains the geometry/field data. You can either use the BROWSE button to select a file or enter the filename in the filename entry on top of the GUI and press the OPEN button to list the contents of the file in the listbox in the center of the GUI.
Next the MATLAB matrices in the file need to be connected to an output port. In order to do this click on one of the PORT buttons and then select the MATLAB matrix you want to load on that outport. Note that for convenience the first suitable matrix in the file is automatically connected to port 1, when a MATLAB file is opened. Hence, if your file only contains one field, you can skip this step as the matrix will be selected automatically.
==== Preparing MATLAB files for SCIRun Fields ====
One crucial step for the conversion from MATLAB to SCIRun is a proper preparation of the data files. Since a SCIRun field object is a complex entity, a simple numeric dense matrix is difficult to translate. Hence, it is required that you build a STRUCTURED MATRIX in matlab with some of the fields listed below. Based on the fields that are supplied the data is converted in one of the many types of geometries available in SCIRun. The module will try to match the data you supplied with the closest Field object it finds.
The following sections describe the fields of the structure matrix can be defined and are recognized by the module.
====Unstructured Meshes ====
FIELDNAME .node This field is required for unstructured meshes and defines the position of the nodes within the mesh. This matrix should be a dense 3 by M matrix, where M is the number of nodes.
FIELDNAME .edge This field is required for curve meshes and defines the line elements in the mesh. This matrix should be a dense 2 by N matrix, where N is the number of line segments. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this EDGE matrix is zero, a zero base is assumed.
FIELDNAME .face This field is required for surfaces meshes and defines the surface elements in the mesh. This matrix should be a dense 3 by N matrix for triangulated meshes and a 4 by N matrix for quadsurf meshes. Here N is the number of surface elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this FACE matrix is zero, a zero base is assumed.
FIELDNAME .cell This field is required for volume meshes and defines the volume elements in the mesh. This matrix should be a dense 4 by N matrix for tetrahedral meshes, or a 6 by N matrix for prism shaped volume elements, or a 8 by N matrix for hexahedral elements. Here N is the number of volume elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this CELL matrix is zero, a zero base is assumed.
====Structured Meshes====
FIELDNAMES x , y , AND z The fields X, Y, and Z form the description of a structured mesh. These fields are 1D, 2D, or 3D matrices defining the structured line, surface, or volume data. The connectivity of these meshes is defined by the position of the matrix, neighboring elements are connected. In this definition matrix X defines the x cartesian co-ordinate of each node, matrix Y the y cartesian co-ordinate and matrix Z the z cartesian co-ordinate. This kind of definition is compatible with MATLAB functions such as ndmesh() and sphere().
====Structured regular Meshes====
As structured matlab arrays:
FIELDNAME .dims This field describes the dimensions of the regular grid and is required for making a regular structured mesh. This field is a vector with 1, 2, or 3 elements describing the dimensions in each direction. Hence depending on this field the module creates a line, a surface, or a volume. This field is required for structured regular meshes.
FIELDNAME .transform This field describes a 4x4 matrix which defines an affine transformation, which is applied to the mesh. This matrix describes rotation, translation and scaling of each node in the regular mesh. This field is optional and does not need to be supplied. In case on transform matrix is defined a regular grid with spacing of 1 in each direction will be generated. [NEED TO ADD MORE DETAILS]
As regular dense matrices:
ImageFields and LatVolFields can be entered as well as dense matrices. A 2D matrix will be translated into an ImageField, and a 3D matrix will be translated into a LatVolField. When entering data as regular matrices, the data is assumed to be on the nodes and to be a scalar double field.
Note: The displaying dimensions between matlab and SCIRun are flipped, in matlab the first dimension is along the vertical axis, whereas in SCIRun it is along the horizontal axis. Depending on the application the data may need to be transposed, in order to make to obtain the proper vertical alignment.
====Field Data====
FIELDNAME .field A matrix specifying scalar/vector/tensor data for each node/element in the mesh. Each subsequent element in this vector is added to the next node/element in the field. Use the field FIELDLOCATION to specify where the data should be located. The module detects the type of data. The tensor and respectively the vector dimension is assumed to be the first one.
FIELDNAME .fieldtype A string specifying the type of data stored in field. Currently three value are accepted: 'scalar', 'vector', and 'tensor'. If this type information is omitted it defaults to 'scalar'
FIELDNAME .fieldat The location of the data. This field is a string describing where the data should be located. The default field location is assumed to be the nodes, meaning each node has a scalar, vector, or tensor value. In case the data is at the nodes, this field does not to be specified. This field is a string with the following options: "node", "edge", "face", or "cell".
The way of specifying a field was different in version 1.22 of SCIRun. The modules still support input through the fields 'vectorfield', 'tensorfield', and 'scalarfield'. However to be compatible with future additions this has been changed to a combination of 'field' and 'fieldtype'. The new fieldwriters will use this convention instead of the old one.
The module will try to reconstruct data, for instance if a matrix is transposed, it will detect this and read the data properly. Most of the fields mentioned are optional and are not necessary. Only choose those fields from the list that are needed to describe your data. Currently not every field type supported by SCIRun is implemented in this module. Hopefully future versions will support more data types and have even less restrictive converters.
==== Example 1: preparing MATLAB file ====
The following lines of MATLAB code demonstrate how to structure a matrix for the use in SCIRun:
Assuming that the nodes are specified in nodematrix and the connectivity of these nodes is specified in facematrix
>> geom.node = nodematrix
>> geom.face = facematrix
>> save mymesh.mat geom
Opening the file with the ImportFieldsFromMatlab module will show that there is one data matrix called "geom" whose contents is a TRISURFMESH with no data on any of the node points
In case MATLAB is not available to structure the data, use the MODULE REFERENCE module to read a MATLAB matrix data directly and use the MODULE REFERENCE module to construct a Field out of the Nrrd object.
==== Example 2: Creating a structured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab file with the matlab logo on a structured mesh:
>> [X,Y,DATA] = peaks(100);
>> field.x = X;
>> field.y = Y;
>> field.z = DATA;
>> field.scalarfield = DATA;
>> save myfield field
This will create a surface mesh in the shape of the peaks logo and uses the z value as its data values. Be sure to specify all the three cartensian coordinates, omitting one will result in the module not to recognise the mesh and it will not display the object in its selection box.
==== Exampe 3: Creating an unstructured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab fiel with an unstructured tesselated surface:
>> [X,Y,Z] = ndmesh(1:10,1:10,0);
>> field.node = [X(:)'; Y(:)'; Z(:)'];
>> field.face = delauney(X,Y);
>> field.scalarfield = X(:).^2;
>> save myfield2 field
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWave:DMDAddDomainElectrodes
0
1660
3800
2006-11-01T04:28:34Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDAddDomainElectrodes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines electrode positions for detailed time recordings.
====Detailed Description====
This module defines electrode positions for detailed time recordings.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:CardioWave:DMDAddMembrane
0
1662
3803
2006-11-01T04:28:39Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDAddMembrane'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module lets the user add a geometry with a specific model.
====Detailed Description====
This module lets the user add a geometry with a specific model.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportMatricesFromMatlab
0
1663
1727
2006-11-01T04:28:40Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ImportMatricesFromMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ImportMatricesFromMatlab module reads a matrix from a MATLAB file
====Detailed Description====
====Module description====
This module imports matrices from MATLAB .mat files. Currently only files from matlab version 5 and higher are supported by this module. The module reads both dense and sparse matrices of any of the supported data classes in matlab (short, int, double, etc.). Currently the SCIRun matrix class only supports doubles, hence every matrix is casted into a double matrix. In order to facilitate the selection process the module will list all matrices in the file that are compatible with the SCIRun matrix class and will select the most obvious one as a default.
Follow the next two steps in order to setup the GUI properly:
Choose the MATLAB file that contains the matrix data. You can either use the BROWSE button to select a file or enter the filename in the filename entry on top of the GUI and press the OPEN button to list the contents of the file in the listbox in the center of the GUI.
Next the MATLAB matrices in the file need to be connected to an output port. In order to do this click on one of the PORT buttons and then select the MATLAB matrix you want to load on that outport. Note that for convenience the first suitable matrix in the file is automatically connected to port 1, when a MATLAB file is opened. Hence, if your file only contains one field, you can skip this step as the matrix will be selected automatically.
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWave:DMDAddMembraneElectrodes
0
1664
3805
2006-11-01T04:28:43Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDAddMembraneElectrodes'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines electrode positions for detailed time recordings.
====Detailed Description====
This module defines electrode positions for detailed time recordings.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportNrrdsFromMatlab
0
1665
1728
2006-11-01T04:28:44Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''ImportNrrdsFromMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ImportNrrdsFromMatlab module reads a matrix from a MATLAB .mat file and exports it as a Nrrd
====Detailed Description====
==== Module Description ====
This module reads a N-dimensional matrix from MATLAB .mat files and exports this matrix as a Nrrd object. Currently only files from matlab version 5 and higher are supported by this module. The module reads dense matrices of any of the supported data classes in matlab (short, int, double, etc.). Sparse matrices however are not supported by this module. Use the MODULE REFERENCE module to read sparse matrices. In order to facilitate the selection process the module will list all matrices in the file that are compatible with the SCIRun NRRD class and will select the most obvious one as a default.
Follow the next two steps in order to setup the GUI properly:
Choose the MATLAB file that contains the matrix data. You can either use the BROWSE button to select a file or enter the filename in the filename entry on top of the GUI and press the OPEN button to list the contents of the file in the listbox in the center of the GUI.
Next the MATLAB matrices in the file need to be connected to an output port. In order to do this click on one of the PORT buttons and then select the MATLAB matrix you want to load on that outport. Note that for convenience the first suitable matrix in the file is automatically connected to port 1, when a MATLAB file is opened. Hence, if your file only contains one field, you can skip this step as the matrix will be selected automatically.
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab
0
1071
1578
1577
2006-11-01T04:28:49Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InterfaceWithMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: Interface
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Interactive InterfaceWithMatlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects.
====Detailed Description====
====Overview====
This module launches MATLAB as a separate process under control of SCIRun. The process can be on a remote machine or a local machine. In case the module is running on a remote machine the communication with matlab will be through sockets. In the latter case the entry fields in the middle panel of the GUI will need to be filled out with the IP address (it will automatically do a DNS lookup), the port number and a password. A password is only necessary for a remote MATLAB engine that is configured to require a password when launching MATLAB. The current implementation has an optional password in the matlabegine.rc, if this field is left empty no password check is done. The current implementation does not make use of secure sockets, this implementation is still under development. In order to run multiple MATLAB processes simultaneously different sessions can be launched. Each session on the same machine will share the global workspace in MATLAB and code is being executed sequentially for all modules making use of that session. Hence variables declared in the global workspace can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the MATLAB OUTPUT window. The module needs to be executed in order to launch matlab, but will then remain active until the module is destroyed. Alternatively MATLAB can be launched from the InterfaceWithMatlabEngine Status panel in the right lower corner. It can be disconnected using the 'disconnect' button in the same panel. That the MATLAB process is kept alive between executions is done to smoothen the executing of matlab networks and as well to be able to store variables in matlab's workspace for later usage. However before the module is executed the translation table of SCIRun objects to matlab objects needs to be setup. This is accomplished by connecting the SCIRun object to one of the input ports on the module. Note that there are ports for Matrices, Fields and Nrrds. In the translation menu the Field section deals with the translation of fields, the Matrix section with the translation of Matrices and the Nrrd section with the translation of the nrrds. Each line in this translation table refers to one set of input and output ports. First of all the module will need to know how the object should be called in MATLAB, it is going to be a matlab array and thus needs to have a name. Then depending on the SCIRun object the object can be translated into structured arrays or numeric arrays, whose numeric format can be set as well. See the sections below for more details. Then at the end of the line the name of the matlab array that needs to be translated back into a SCIRun object. Here a name is sufficient as the translation process will do the rest. The name can be the same as the input array, but it might refer to another array as well.
The process of running code in MATLAB is accomplished as follows: SCIRun will translate the SCIRun objects into matlab compatible objects and write them in a file and then instructs matlab to read this file. Since all communication is through the stdin of matlab, using files makes sure that the data does not have to be written out in ASCII readable code. The module is smart enough to recognize that it translated objects before. If this is the case it will not do the translation again and it will use the file already generated. When loading data into matlab the objects that were already there with the same name will be overwritten. Subsequently the module will take the code the user entered in the GUI and wrap it in a 'try/catch' environment and execute it in matlab. All output generated on the stdout will be displayed in the module. It will write a tag of when the code starts executing as well one on when the code finished executing. These are markers for the module to keep track of when matlab finishes executing code. Please make sure that your progam does NOT generate output that resembles these markers as it will confuse the InterfaceWithMatlab Interface. Once the end marker is encountered, the module will instruct matlab to save the variables in the workspace so they can be read in by SCIRun.
The third window on the bottom will show the current status of the matlab engine. Note: when session 0 is requested a new session number will be assigned to the matlab process, which has not been used before. The new session number will appear in this status window. This option can be used to give each InterfaceWithMatlabInterface Module its own matlab process running in the background.
====Local configuration====
Before the module can be used, SCIRun needs to know how to run matlab on the local machine. This is accomplished by the configuration file 'matlabengine.rc', which will be created in the SCIRun/services directory in your local HOME directory. This file is copied out of the src tree the first time SCIRun is run. This file configures how matlab should be run. Edit the line 'startmatlab=' to instruct SCIRun how matlab should be started from an 'sh'-compatible shell. If matlab can already be found using the PATH settings in the shell launching SCIRun, this line probably does not need to be altered. All other fields in this file refer to running matlab on a remote machine. In case SCIRun will not be able to launch matlab a message will be displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE ADDRESS' in the GUI needs to have an empty Address and does not require a port. SCIRun will in this case automatically launch matlab locally. In the latter case no password checks are done. The local manager does support multiple sessions. To clarify the word session: a session is a matlab process. When multiple InterfaceWithMatlab modules make use of the same session the workspace in matlab is shared. Hence one module can be used to load a large matrix into matlab, whereas another one can be used to iterate over a process with small matrices, while using the big matrix stored by the first one. This will allow for some efficiency improvements.
====Remote configuration====
In order to run matlab on a different machine then SCIRun, a small server program needs to be run on the remote machine. The latter is called 'scirunremote', this program sets up a socket for listening and launches matlab when a request is made on its socket. This program uses the same 'matlabengine.rc' file as the module (though it will look in the local HOME directory of the remote machine). This configuration file can be used to set a password, restrict login to only certain machines in a certain domain. Currently the communication is over an open socket in the future an openssl implementation will be used for secure connections. In order to launch the scirunremote program, type 'scirunremote -port 5678', or which ever port you want to use. The latter program must be run on the remote system and serves as a daemon for starting all kinds of external programs. When launching this application a list of services will be displayed. For the matlab engine to work properly two services need to be switched on: matlabengine and matlabenginefiletransfer. The currently implementation requires the last one even if there is a shared home directory. In the latter case no files are transfered, and only the names of the directories in which temporary files are stored are exchanged. The latter mechanism will reduce the amount of network traffic and hopefully speed up the function of this module.
====Configuration file====
This section shortly lists the different options that can be set in the configuration file 'SCIRun/services/matlabengine.rc'
START MATLAB: This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
DISABLE: This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
PASSWORD: A simple password, as a first line of defense. Better ways will follow.
RHOSTS: A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
MATLABTIMEOUT: How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:Reference_MatlabInterface_GUIpic1.png|The three main panels of the GUI and what they represent]] The GUI is subdivided into three mainparts. The top panel controls the translation from SCIRun objects into matlab objects and vice versa. The middle panel controls where the matlab engine is started and whether a matlab engine is shared with another InterfaceWithMatlab module. The lower panel displays the matlab code that needs to be executed and the output from matlab. The subdivision is shown in figure CROSS REFERENCE.
[[Image:Reference_MatlabInterface_GUIpic2.png|The SCIRun to matlab translation panel]] The first panel configures the matlabconverter which is used to translate SCIRun objects into matlab objects and vice versa. This matlabconverter is the same as used by the modules MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE. The SCIRun objects are translated into matlab files which are stored in a temparory directory that is automatically generated and are subsequently read by matlab. For the translation back into SCIRun a similar mechanism is used which tells matlab to write out the results in matlab files and these files are subsequently loaded into SCIRun. The input options are the same as for the other modules: the first field on the left controls the name that an object has in matlab. This name has to be alphanumeric and needs to adhere to InterfaceWithMatlab's naming convention. When writing matlab code this name can be used to access the object. The second parameter in the list controls the data format used for the matlab objects, i.e. whether the data is written as doubles, floats, or ints; the third parameter controls what kind of object is created. For matrices and nrrd the most logical translation is a multi dimensional matrix, which is thence the default. All the properties and axis settings are lost in such a translation. Hence the option is offered to translate the SCIRun object into a structured array in which each field represents one of the dataelements stored in that SCIRun object. The documentation on which fieldnames are used and how the object is translated, can be found in the documentation of the individual modules doing this translation. A summary of how geometrical data is represented is given below. Concerning the output variables, only the name needs to be known. If the object is not compatible an error message will be generated in the error message GUI of module. This message will also explain why the object could not be translated.
[[Image:Reference_MatlabInterface_GUIpic3.png|GUI for determining where MATLAB should be run]] The second panel tells SCIRun where to launch MATLAB. For a matlab engine on the local machine leave the Address field empty. For a remote engine enter the DNS or IP address of the remote server. The engine should support IPv6 addresses, although the support has not fully been tested. The second field is the port number for a remote matlab process. Currently the program scirunremote needs to be run on the remote side. This program will allow SCIRun to connect to this machine and run all kinds of remote applications. The program scirunremote needs to be run with a port number, this is the number that needs to be entered here. Optionally a password protection can be added. Currently the implementation of the password is a weak protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a certain host is identified by a unique number. This number is stored by the program launching matlab (scirun on the local machine and scirunremote on the remote machine) and is used to see whether a session is already open. If multiple InterfaceWithMatlab modules refer to the same session, no new matlab engine will be opened in stead these modules will share the use of the matlab engine. If session '0' is used a new non existing session number will be assigned by the matlab engine.
[[Image:Reference_MatlabInterface_GUIpic4.png|The panel for running code in matlab]] The lower panel contains there parts: the first for setting the code matlab needs to execute, the second for displaying matlab's output and the third for displaying the current status of the matlab engine. The code to be entered should assume that the matrices that have been created out of SCIRun objects already reside in the work space of matlab. In the code that maintains this absolute paths are used to ensure that the matrices can be found. The code will also be embedded in a try-catch statement to make sure that an end marker is generated even if the code crashes. All these measures to run code are hidden in the engine and the user should not worry about them for simple code. The code in that needs to be execute can be loaded and saved as well. So for more complex tasks the matlab code can be written in a different more userfriendly text editor. The extension of the filenames need to .m and are similar to matlab scripts. Please do not confuse these with functions. The latter will not work as functions need the input to be parsed to them. If a function call is desired, put the instruction that calls the function in the matlab code field and not the function code itself.
The second part of the lower panel contains the matlab output. It will display all the output generated by matlab. Currently, it can parse input as well, though that is limited to normal keystrokes. Simple commands may be given, but still the full functionality as found in a shell is not present yet. This latter feature is still experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of the matlab engine. The information stored here can be used for debugging and to see whether the matlab engine is running properly. The connection to matlab engine can be closed here as well and new connections can be made without the need of executing the module.
====Translation of FIELDS====
The following is an incomplete overview of the translation between SCIRun and MATLAB field objects. The following describes how fields are to be prepared in matlab for it to be used in SCIRun. The opposite process will be done for the input ports. Note that there one can specify whether one ones a structured or numerical matlab array. In case of numerical array only the data from the field is taken and the rest is thrown away. In case of a structured matlab array the data is fitted into a structure with the same fields as described below.
The following sections describe the fields of the structure matrix can be defined and are recognized by the module.
====Unstructured Meshes ====
FIELDNAME .node This field is required for unstructured meshes and defines the position of the nodes within the mesh. This matrix should be a dense 3 by M matrix, where M is the number of nodes.
FIELDNAME .edge This field is required for curve meshes and defines the line elements in the mesh. This matrix should be a dense 2 by N matrix, where N is the number of line segments. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this EDGE matrix is zero, a zero base is assumed.
FIELDNAME .face This field is required for surfaces meshes and defines the surface elements in the mesh. This matrix should be a dense 3 by N matrix for triangulated meshes and a 4 by N matrix for quadsurf meshes. Here N is the number of surface elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this FACE matrix is zero, a zero base is assumed.
FIELDNAME .cell This field is required for volume meshes and defines the volume elements in the mesh. This matrix should be a dense 4 by N matrix for tetrahedral meshes, or a 6 by N matrix for prism shaped volume elements, or a 8 by N matrix for hexahedral elements. Here N is the number of volume elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this CELL matrix is zero, a zero base is assumed.
====Structured Meshes====
FIELDNAMES x , y , AND z The fields X, Y, and Z form the description of a structured mesh. These fields are 1D, 2D, or 3D matrices defining the structured line, surface, or volume data. The connectivity of these meshes is defined by the position of the matrix, neighboring elements are connected. In this definition matrix X defines the x cartesian co-ordinate of each node, matrix Y the y cartesian co-ordinate and matrix Z the z cartesian co-ordinate. This kind of definition is compatible with MATLAB functions such as ndmesh() and sphere().
====Structured regular Meshes====
As structured matlab arrays:
FIELDNAME .dims This field describes the dimensions of the regular grid and is required for making a regular structured mesh. This field is a vector with 1, 2, or 3 elements describing the dimensions in each direction. Hence depending on this field the module creates a line, a surface, or a volume. This field is required for structured regular meshes.
FIELDNAME .transform This field describes a 4x4 matrix which defines an affine transformation, which is applied to the mesh. This matrix describes rotation, translation and scaling of each node in the regular mesh. This field is optional and does not need to be supplied. In case on transform matrix is defined a regular grid with spacing of 1 in each direction will be generated. [NEED TO ADD MORE DETAILS]
As regular dense matrices:
ImageFields and LatVolFields can be entered as well as dense matrices. A 2D matrix will be translated into an ImageField, and a 3D matrix will be translated into a LatVolField. When entering data as regular matrices, the data is assumed to be on the nodes and to be a scalar double field.
Note: The displaying dimensions between matlab and SCIRun are flipped, in matlab the first dimension is along the vertical axis, whereas in SCIRun it is along the horizontal axis. Depending on the application the data may need to be transposed, in order to make to obtain the proper vertical alignment.
====Field Data====
FIELDNAME .field A matrix specifying scalar/vector/tensor data for each node/element in the mesh. Each subsequent element in this vector is added to the next node/element in the field. Use the field FIELDLOCATION to specify where the data should be located. The module detects the type of data. The tensor and respectively the vector dimension is assumed to be the first one.
FIELDNAME .fieldtype A string specifying the type of data stored in field. Currently three value are accepted: 'scalar', 'vector', and 'tensor'. If this type information is omitted it defaults to 'scalar'
FIELDNAME .fieldat The location of the data. This field is a string describing where the data should be located. The default field location is assumed to be the nodes, meaning each node has a scalar, vector, or tensor value. In case the data is at the nodes, this field does not to be specified. This field is a string with the following options: "node", "edge", "face", or "cell". This field can be a number as well, which will describe the basis order of the element.
The way of specifying a field was different in version 1.22 of SCIRun. The modules still support input through the fields 'vectorfield', 'tensorfield', and 'scalarfield'. However to be compatible with future additions this has been changed to a combination of 'field' and 'fieldtype'. The new fieldwriters will use this convention instead of the old one.
The module will try to reconstruct data, for instance if a matrix is transposed, it will detect this and read the data properly. Most of the fields mentioned are optional and are not necessary. Only choose those fields from the list that are needed to describe your data. Currently not every field type supported by SCIRun is implemented in this module. Hopefully future versions will support more data types and have even less restrictive converters.
==== Example 1: preparing MATLAB file ====
The following lines of MATLAB code demonstrate how to structure a matrix for the use in SCIRun:
Assuming that the nodes are specified in nodematrix and the connectivity of these nodes is specified in facematrix
>> geom.node = nodematrix
>> geom.face = facematrix
Opening the file with the InterfaceWithMatlabFieldsReader module will show that there is one data matrix called "geom" whose contents is a TRISURFMESH with no data on any of the node points
In case MATLAB is not available to structure the data, use the MODULE REFERENCE module to read a MATLAB matrix data directly and use the MODULE REFERENCE module to construct a Field out of the Nrrd object.
==== Example 2: Creating a structured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab file with the matlab logo on a structured mesh:
>> [X,Y,DATA] = peaks(100);
>> field.x = X;
>> field.y = Y;
>> field.z = DATA;
>> field.scalarfield = DATA;
This will create a surface mesh in the shape of the peaks logo and uses the z value as its data values. Be sure to specify all the three cartensian coordinates, omitting one will result in the module not to recognise the mesh and it will not display the object in its selection box.
==== Exampe 3: Creating an unstructured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab fiel with an unstructured tesselated surface:
>> [X,Y,Z] = ndmesh(1:10,1:10,0);
>> field.node = [X(:)'; Y(:)'; Z(:)'];
>> field.face = delauney(X,Y);
>> field.scalarfield = X(:).^2;
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWave:DMDAddReference
0
1666
3807
2006-11-01T04:28:49Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDAddReference'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines where the reference electrode is located.
====Detailed Description====
This module defines where the reference electrode is located. This module specifies the area/volume of the module that is set to a certain potential. Depending on the field input the geometry a surface or a volume is set to a certain potential.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlabViaBundles
0
1668
1732
2006-11-01T04:28:55Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''InterfaceWithMatlabViaBundles'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: Interface
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects. The difference with the normal Matlab module is that this one uses bundles as input and output to allow for a more flexible interface. Since the use of bundles is more complicated, the Matlab module should be used if fields or matrices need to be adjusted. But for more complicated projects, this module allows for more flexibility.
====Detailed Description====
====Overview====
This module is an extension of the Matlab module. Please review the documentation of this module for a more detailed description of the inner workings of the matlab interface. The main difference with the Matlab module is the way data is imported into MATLAB. This module uses the module concepts for transporting data. In short a bundle is a collection of SCIRun objects bundled into one stream. As the number of elements in a stream is only limited by the amount of memory that can be used, far more variables can be transported into and out of the module. However this comes with the price of a less straight forward representation of data in matlab. In this case all input and output matlab arrays are structures whose field can represent any of the SCIRun objects currently supported by the Matlab package. Note the currently colormaps and path streams are not supported, although they can be fit into a bundled stream, it is not available in a matlab representation. Converters for those classes will be implemented if they are needed.
The bundle to matlab converter has some specific options as well. For matrices and nrrds the default behaviour is to convert them directly into a numeric dense or sparse matrix and all the other properties of the SCIRun object are stripped away, whereas fields are represented by a sub structure, with fields as defined by the MatlabFieldWriter. The options 'numeric array' and 'struct array' control how matrices and nrrds are converted. In case of 'numeric array' all nrrds and matrices will be dense or sparse matrices and the additional fields within the SCIRun object will be stripped away, such as axis names etc. This is the default behavior. In case of 'struct array' all the SCIRun Matrix and Nrrd objects will be translated into sub structures with all the additional SCIRun data put in the fields of this sub matrix. This module will always convert a field into a structure.
The matlab to bundle converter is a little bit more complicated since there are more options for conversion. The first parameter controlling the conversion process is 'prefer matrices' or 'prefer nrrds'. This option controls whether a matrix is converted into a nrrd or a matrix. Of course, some objects like sparse matrices can only be represented by a SCIRun Matrix object and will hence be translated so. The same is true for matrices with a dimension higher than two, these can only become nrrds. For the others there are two representations possible, this option just specifies the preference the user has. Note that matrices and nrrds in the Bundled Stream can be inserted as nrrds and read out matrices. One thing one should keep in mind that in the matlab converter the first dimension of a nrrd is assumed to be the rows space and secondly the column space. Some functions expect the opposite order. Unfortunately the order is not specified in the nrrd object. In case you run into unexpected transposed matrices, use the built in function of the BundleGetMatrix and BundleGetNrrd to do these transpose operations.
A second choice is whether the substructure represent bundles or scirun objects like fields, nrrds, and matrices. When a field in matlab is a dense, sparse or a string the conversion is obvious. However when it is a structure it can be split into a sub bundle with all the fields being separate objects or they can represent more complicate objects such as fields. The default option is 'prefer sciobjects', which will first try to see if the fields correspond to any of the object defined in SCIRun. For example when a subarray has a field called 'node' it will be translated into a field. If no suitable conversion can be found it will be translated into a bundle. In case of 'prefer bundles' all substructures will be bundles again. This means sno fields will be generated and the translation will be a bundle with subbundles that contain only nrrds and matrices.
====Overview Matlab/InterfaceWithMatlabViaBundles module mechanism====
This module launches MATLAB as a separate process under control of SCIRun. The process can be on a remote machine or a local machine. In case the module is running on a remote machine the communication with matlab will be through sockets. In the latter case the entry fields in the middle panel of the GUI will need to be filled out with the IP address (it will automatically do a DNS lookup), the port number and a password. A password is only necessary for a remote MATLAB engine that is configured to require a password when launching MATLAB. The current implementation has an optional password in the matlabegine.rc, if this field is left empty no password check is done. The current implementation does not make use of secure sockets, this implementation is still under development. In order to run multiple MATLAB processes simultaneously different sessions can be launched. Each session on the same machine will share the global workspace in MATLAB and code is being executed sequentially for all modules making use of that session. Hence variables declared in the global workspace can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the MATLAB OUTPUT window. The module needs to be executed in order to launch matlab, but will then remain active until the module is destroyed. Alternatively MATLAB can be launched from the MatlabEngine Status panel in the right lower corner. It can be disconnected using the 'disconnect' button in the same panel. That the MATLAB process is kept alive between executions is done to smoothen the executing of matlab networks and as well to be able to store variables in matlab's workspace for later usage. However before the module is executed the translation table of SCIRun objects to matlab objects needs to be setup. This is accomplished by connecting the SCIRun object to one of the input ports on the module. Note that there are ports for Matrices, Fields and Nrrds. In the translation menu the Field section deals with the translation of fields, the Matrix section with the translation of Matrices and the Nrrd section with the translation of the nrrds. Each line in this translation table refers to one set of input and output ports. First of all the module will need to know how the object should be called in MATLAB, it is going to be a matlab array and thus needs to have a name. Then depending on the SCIRun object the object can be translated into structured arrays or numeric arrays, whose numeric format can be set as well. See the sections below for more details. Then at the end of the line the name of the matlab array that needs to be translated back into a SCIRun object. Here a name is sufficient as the translation process will do the rest. The name can be the same as the input array, but it might refer to another array as well.
The process of running code in MATLAB is accomplished as follows: SCIRun will translate the SCIRun objects into matlab compatible objects and write them in a file and then instructs matlab to read this file. Since all communication is through the stdin of matlab, using files makes sure that the data does not have to be written out in ASCII readable code. The module is smart enough to recognize that it translated objects before. If this is the case it will not do the translation again and it will use the file already generated. When loading data into matlab the objects that were already there with the same name will be overwritten. Subsequently the module will take the code the user entered in the GUI and wrap it in a 'try/catch' environment and execute it in matlab. All output generated on the stdout will be displayed in the module. It will write a tag of when the code starts executing as well one on when the code finished executing. These are markers for the module to keep track of when matlab finishes executing code. Please make sure that your progam does NOT generate output that resembles these markers as it will confuse the Matlab Interface. Once the end marker is encountered, the module will instruct matlab to save the variables in the workspace so they can be read in by SCIRun.
The third window on the bottom will show the current status of the matlab engine. Note: when session 0 is requested a new session number will be assigned to the matlab process, which has not been used before. The new session number will appear in this status window. This option can be used to give each MatlabInterface Module its own matlab process running in the background.
====Local configuration====
Before the module can be used, SCIRun needs to know how to run matlab on the local machine. This is accomplished by the configuration file 'matlabengine.rc', which will be created in the SCIRun/services directory in your local HOME directory. This file is copied out of the src tree the first time SCIRun is run. This file configures how matlab should be run. Edit the line 'startmatlab=' to instruct SCIRun how matlab should be started from an 'sh'-compatible shell. If matlab can already be found using the PATH settings in the shell launching SCIRun, this line probably does not need to be altered. All other fields in this file refer to running matlab on a remote machine. In case SCIRun will not be able to launch matlab a message will be displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE ADDRESS' in the GUI needs to have an empty Address and does not require a port. SCIRun will in this case automatically launch matlab locally. In the latter case no password checks are done. The local manager does support multiple sessions. To clarify the word session: a session is a matlab process. When multiple Matlab modules make use of the same session the workspace in matlab is shared. Hence one module can be used to load a large matrix into matlab, whereas another one can be used to iterate over a process with small matrices, while using the big matrix stored by the first one. This will allow for some efficiency improvements.
====Remote configuration====
In order to run matlab on a different machine then SCIRun, a small server program needs to be run on the remote machine. The latter is called 'scirunremote', this program sets up a socket for listening and launches matlab when a request is made on its socket. This program uses the same 'matlabengine.rc' file as the module (though it will look in the local HOME directory of the remote machine). This configuration file can be used to set a password, restrict login to only certain machines in a certain domain. Currently the communication is over an open socket in the future an openssl implementation will be used for secure connections. In order to launch the scirunremote program, type 'scirunremote -port 5678', or which ever port you want to use. The latter program must be run on the remote system and serves as a daemon for starting all kinds of external programs. When launching this application a list of services will be displayed. For the matlab engine to work properly two services need to be switched on: matlabengine and matlabenginefiletransfer. The currently implementation requires the last one even if there is a shared home directory. In the latter case no files are transfered, and only the names of the directories in which temporary files are stored are exchanged. The latter mechanism will reduce the amount of network traffic and hopefully speed up the function of this module.
====Configuration file====
This section shortly lists the different options that can be set in the configuration file 'SCIRun/services/matlabengine.rc'
START MATLAB: This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
DISABLE: This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
PASSWORD: A simple password, as a first line of defense. Better ways will follow.
RHOSTS: A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
MATLABTIMEOUT: How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:CardioWave:DMDAddStimulus
0
1667
3808
2006-11-01T04:28:55Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDAddStimulus'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines the location of the stimulus electrodes.
====Detailed Description====
This module defines the location of the stimulus electrodes.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:CardioWave:DMDAddStimulusSeries
0
1669
3810
2006-11-01T04:28:59Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDAddStimulusSeries'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module defines the location of the stimulus electrodes.
====Detailed Description====
This module defines the location of the stimulus electrodes.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:CardioWave:DMDBuildSimulation
0
1670
3811
2006-11-01T04:29:07Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDBuildSimulation'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Build a CardioWave Simulation. This module uses the create SimulationBundle and from it creates all the files needed to compile and run a CardioWave simulation.
====Detailed Description====
Build a CardioWave Simulation. This module uses the create SimulationBundle and from it creates all the files needed to compile and run a CardioWave simulation.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:CardioWave:DMDConductionVelocity
0
1671
3812
2006-11-01T04:29:13Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDConductionVelocity'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes the conduction velocity.
====Detailed Description====
This module computes the conduction velocity.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:CardioWave:DMDCreateDomain
0
1672
3813
2006-11-01T04:29:19Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDCreateDomain'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module creates the domain for the discrete multidomain computation.
====Detailed Description====
This module creates the domain for the discrete multidomain computation. The module needs two input fields named Conductivity and ElementType. The field Conductivty describes the conductivity throughout the domain and needs to have the mesh as ElementType which describes the layout of the domains. ElementType contains integer values and each domain is defined as the elements with the same the value in elementtype. Before one can use the field it is good to split the the field into regions that connect elements of the same type, but do not connect elements from different domains. Use the module SplitFieldByElementData to split the field properly.
All other inputs are optional: ConductivityTable specifies the conductivies in case the Conductivity field is indexed into a table. One can use the BioPSE definitions here as well and hence this field is optional and not needed if the field already has a conductivity table. GeomToComp and CompToGeom specify the geometrical mesh to comptutational grid mapping. In theory only on of these needs to be computed as the other one will be automatically generated. However if one has both tables it is more efficient to supply both. Note that the LinkFieldBoundary and LinkFieldBoundaryByElement modules already assign these properties to the fields. Use these inputs only if you want to do any manually collapsing of nodes into one computational node. The last input MembraneLink is mapping matrix that contains information on whether Membranes need to be linked over the boundary. This mapping matrix is automatically generated by LinkFieldBoundaryByElement.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:CardioWave:DMDCreateSimulation
0
1673
3814
2006-11-01T04:29:23Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''DMDCreateSimulation'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: DiscreteMultiDomain
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Bundle all the information needed to build a CardioWave simulation.
====Detailed Description====
Bundle all the information needed to build a CardioWave simulation.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:CardioWave:RegularBundle
0
1674
3815
2006-11-01T04:29:28Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''RegularBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: TissueModel
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module generates a regular tissue bundle.
====Detailed Description====
This module generates a regular tissue bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:CardioWave:UnpackState
0
1675
3816
2006-11-01T04:29:32Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''UnpackState'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
:Catagory: Tools
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Unpack the CardioWave StateVariable vector Q.
====Detailed Description====
Unpack the CardioWave StateVariable vector Q.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:CardioWave|CardioWave]]
CIBC:Documentation:SCIRun:Reference:CardioWaveInterface
0
1676
3817
2006-11-01T04:30:22Z
Blackham
44
Automated page entry using MWPush.pl
wikitext
text/x-wiki
=='''CardioWaveInterface Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''ContinuousBiDomain'''===
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CBDAddMembrane|CBDAddMembrane]]
:This module lets the user add a geometry with a specific model.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CBDAddReference|CBDAddReference]]
:This module defines where the reference electrode is located.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CBDAddStimulus|CBDAddStimulus]]
:This module defines the location of the stimulus electrodes.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CBDCreateDomain|CBDCreateDomain]]
:This module creates the domain for the discrete multidomain computation.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CBDGenerateSimulation|CBDGenerateSimulation]]
:Build a CardioWave Simulation. This module uses the create SimulationBundle and from it creates all the files needed to compile and run a CardioWave simulation.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CBDSetupSimulation|CBDSetupSimulation]]
:Bundle all the information needed to build a CardioWave simulation.
==='''DiscreteMultiDomain'''===
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDAddDomainElectrodes|DMDAddDomainElectrodes]]
:This module defines electrode positions for detailed time recordings.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDAddMembrane|DMDAddMembrane]]
:This module lets the user add a geometry with a specific model.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDAddMembraneElectrodes|DMDAddMembraneElectrodes]]
:This module defines electrode positions for detailed time recordings.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDAddReference|DMDAddReference]]
:This module defines where the reference electrode is located.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDAddStimulus|DMDAddStimulus]]
:This module defines the location of the stimulus electrodes.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDAddStimulusSeries|DMDAddStimulusSeries]]
:This module defines the location of the stimulus electrodes.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDCreateDomain|DMDCreateDomain]]
:This module creates the domain for the discrete multidomain computation.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDGenerateSimulation|DMDGenerateSimulation]]
:Build a CardioWave Simulation. This module uses the create SimulationBundle and from it creates all the files needed to compile and run a CardioWave simulation.
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:DMDSetupSimulation|DMDSetupSimulation]]
:Bundle all the information needed to build a CardioWave simulation.
==='''TissueModel'''===
;[[CIBC:Documentation:SCIRun:Reference:CardioWaveInterface:CreateRegularBundle|CreateRegularBundle]]
:This module generates a regular tissue bundle.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
File:Reference MatlabInterface GUIpic1.png
6
1677
3818
2006-11-01T04:37:21Z
Blackham
44
wikitext
text/x-wiki
File:Reference MatlabInterface GUIpic2.png
6
1678
3819
2006-11-01T04:40:51Z
Blackham
44
wikitext
text/x-wiki
File:Reference MatlabInterface GUIpic3.png
6
1679
3820
2006-11-01T04:42:06Z
Blackham
44
wikitext
text/x-wiki
File:Reference MatlabInterface GUIpic4.png
6
1680
3821
2006-11-01T04:42:19Z
Blackham
44
wikitext
text/x-wiki
CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab
0
1071
1579
1578
2006-11-01T04:49:50Z
Blackham
44
wikitext
text/x-wiki
=='''InterfaceWithMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: Interface
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Interactive InterfaceWithMatlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects.
====Detailed Description====
====Overview====
This module launches MATLAB as a separate process under control of SCIRun. The process can be on a remote machine or a local machine. In case the module is running on a remote machine the communication with matlab will be through sockets. In the latter case the entry fields in the middle panel of the GUI will need to be filled out with the IP address (it will automatically do a DNS lookup), the port number and a password. A password is only necessary for a remote MATLAB engine that is configured to require a password when launching MATLAB. The current implementation has an optional password in the matlabegine.rc, if this field is left empty no password check is done. The current implementation does not make use of secure sockets, this implementation is still under development. In order to run multiple MATLAB processes simultaneously different sessions can be launched. Each session on the same machine will share the global workspace in MATLAB and code is being executed sequentially for all modules making use of that session. Hence variables declared in the global workspace can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the MATLAB OUTPUT window. The module needs to be executed in order to launch matlab, but will then remain active until the module is destroyed. Alternatively MATLAB can be launched from the InterfaceWithMatlabEngine Status panel in the right lower corner. It can be disconnected using the 'disconnect' button in the same panel. That the MATLAB process is kept alive between executions is done to smoothen the executing of matlab networks and as well to be able to store variables in matlab's workspace for later usage. However before the module is executed the translation table of SCIRun objects to matlab objects needs to be setup. This is accomplished by connecting the SCIRun object to one of the input ports on the module. Note that there are ports for Matrices, Fields and Nrrds. In the translation menu the Field section deals with the translation of fields, the Matrix section with the translation of Matrices and the Nrrd section with the translation of the nrrds. Each line in this translation table refers to one set of input and output ports. First of all the module will need to know how the object should be called in MATLAB, it is going to be a matlab array and thus needs to have a name. Then depending on the SCIRun object the object can be translated into structured arrays or numeric arrays, whose numeric format can be set as well. See the sections below for more details. Then at the end of the line the name of the matlab array that needs to be translated back into a SCIRun object. Here a name is sufficient as the translation process will do the rest. The name can be the same as the input array, but it might refer to another array as well.
The process of running code in MATLAB is accomplished as follows: SCIRun will translate the SCIRun objects into matlab compatible objects and write them in a file and then instructs matlab to read this file. Since all communication is through the stdin of matlab, using files makes sure that the data does not have to be written out in ASCII readable code. The module is smart enough to recognize that it translated objects before. If this is the case it will not do the translation again and it will use the file already generated. When loading data into matlab the objects that were already there with the same name will be overwritten. Subsequently the module will take the code the user entered in the GUI and wrap it in a 'try/catch' environment and execute it in matlab. All output generated on the stdout will be displayed in the module. It will write a tag of when the code starts executing as well one on when the code finished executing. These are markers for the module to keep track of when matlab finishes executing code. Please make sure that your progam does NOT generate output that resembles these markers as it will confuse the InterfaceWithMatlab Interface. Once the end marker is encountered, the module will instruct matlab to save the variables in the workspace so they can be read in by SCIRun.
The third window on the bottom will show the current status of the matlab engine. Note: when session 0 is requested a new session number will be assigned to the matlab process, which has not been used before. The new session number will appear in this status window. This option can be used to give each InterfaceWithMatlabInterface Module its own matlab process running in the background.
====Local configuration====
Before the module can be used, SCIRun needs to know how to run matlab on the local machine. This is accomplished by the configuration file 'matlabengine.rc', which will be created in the SCIRun/services directory in your local HOME directory. This file is copied out of the src tree the first time SCIRun is run. This file configures how matlab should be run. Edit the line 'startmatlab=' to instruct SCIRun how matlab should be started from an 'sh'-compatible shell. If matlab can already be found using the PATH settings in the shell launching SCIRun, this line probably does not need to be altered. All other fields in this file refer to running matlab on a remote machine. In case SCIRun will not be able to launch matlab a message will be displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE ADDRESS' in the GUI needs to have an empty Address and does not require a port. SCIRun will in this case automatically launch matlab locally. In the latter case no password checks are done. The local manager does support multiple sessions. To clarify the word session: a session is a matlab process. When multiple InterfaceWithMatlab modules make use of the same session the workspace in matlab is shared. Hence one module can be used to load a large matrix into matlab, whereas another one can be used to iterate over a process with small matrices, while using the big matrix stored by the first one. This will allow for some efficiency improvements.
====Remote configuration====
In order to run matlab on a different machine then SCIRun, a small server program needs to be run on the remote machine. The latter is called 'scirunremote', this program sets up a socket for listening and launches matlab when a request is made on its socket. This program uses the same 'matlabengine.rc' file as the module (though it will look in the local HOME directory of the remote machine). This configuration file can be used to set a password, restrict login to only certain machines in a certain domain. Currently the communication is over an open socket in the future an openssl implementation will be used for secure connections. In order to launch the scirunremote program, type 'scirunremote -port 5678', or which ever port you want to use. The latter program must be run on the remote system and serves as a daemon for starting all kinds of external programs. When launching this application a list of services will be displayed. For the matlab engine to work properly two services need to be switched on: matlabengine and matlabenginefiletransfer. The currently implementation requires the last one even if there is a shared home directory. In the latter case no files are transfered, and only the names of the directories in which temporary files are stored are exchanged. The latter mechanism will reduce the amount of network traffic and hopefully speed up the function of this module.
====Configuration file====
This section shortly lists the different options that can be set in the configuration file 'SCIRun/services/matlabengine.rc'
START MATLAB: This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
DISABLE: This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
PASSWORD: A simple password, as a first line of defense. Better ways will follow.
RHOSTS: A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
MATLABTIMEOUT: How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:Reference_MatlabInterface_GUIpic1.png]] The GUI is subdivided into three mainparts. The top panel controls the translation from SCIRun objects into matlab objects and vice versa. The middle panel controls where the matlab engine is started and whether a matlab engine is shared with another InterfaceWithMatlab module. The lower panel displays the matlab code that needs to be executed and the output from matlab. The subdivision is shown in figure CROSS REFERENCE.
[[Image:Reference_MatlabInterface_GUIpic2.png|The SCIRun to matlab translation panel]] The first panel configures the matlabconverter which is used to translate SCIRun objects into matlab objects and vice versa. This matlabconverter is the same as used by the modules MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE. The SCIRun objects are translated into matlab files which are stored in a temparory directory that is automatically generated and are subsequently read by matlab. For the translation back into SCIRun a similar mechanism is used which tells matlab to write out the results in matlab files and these files are subsequently loaded into SCIRun. The input options are the same as for the other modules: the first field on the left controls the name that an object has in matlab. This name has to be alphanumeric and needs to adhere to InterfaceWithMatlab's naming convention. When writing matlab code this name can be used to access the object. The second parameter in the list controls the data format used for the matlab objects, i.e. whether the data is written as doubles, floats, or ints; the third parameter controls what kind of object is created. For matrices and nrrd the most logical translation is a multi dimensional matrix, which is thence the default. All the properties and axis settings are lost in such a translation. Hence the option is offered to translate the SCIRun object into a structured array in which each field represents one of the dataelements stored in that SCIRun object. The documentation on which fieldnames are used and how the object is translated, can be found in the documentation of the individual modules doing this translation. A summary of how geometrical data is represented is given below. Concerning the output variables, only the name needs to be known. If the object is not compatible an error message will be generated in the error message GUI of module. This message will also explain why the object could not be translated.
[[Image:Reference_MatlabInterface_GUIpic3.png|GUI for determining where MATLAB should be run]] The second panel tells SCIRun where to launch MATLAB. For a matlab engine on the local machine leave the Address field empty. For a remote engine enter the DNS or IP address of the remote server. The engine should support IPv6 addresses, although the support has not fully been tested. The second field is the port number for a remote matlab process. Currently the program scirunremote needs to be run on the remote side. This program will allow SCIRun to connect to this machine and run all kinds of remote applications. The program scirunremote needs to be run with a port number, this is the number that needs to be entered here. Optionally a password protection can be added. Currently the implementation of the password is a weak protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a certain host is identified by a unique number. This number is stored by the program launching matlab (scirun on the local machine and scirunremote on the remote machine) and is used to see whether a session is already open. If multiple InterfaceWithMatlab modules refer to the same session, no new matlab engine will be opened in stead these modules will share the use of the matlab engine. If session '0' is used a new non existing session number will be assigned by the matlab engine.
[[Image:Reference_MatlabInterface_GUIpic4.png|The panel for running code in matlab]] The lower panel contains there parts: the first for setting the code matlab needs to execute, the second for displaying matlab's output and the third for displaying the current status of the matlab engine. The code to be entered should assume that the matrices that have been created out of SCIRun objects already reside in the work space of matlab. In the code that maintains this absolute paths are used to ensure that the matrices can be found. The code will also be embedded in a try-catch statement to make sure that an end marker is generated even if the code crashes. All these measures to run code are hidden in the engine and the user should not worry about them for simple code. The code in that needs to be execute can be loaded and saved as well. So for more complex tasks the matlab code can be written in a different more userfriendly text editor. The extension of the filenames need to .m and are similar to matlab scripts. Please do not confuse these with functions. The latter will not work as functions need the input to be parsed to them. If a function call is desired, put the instruction that calls the function in the matlab code field and not the function code itself.
The second part of the lower panel contains the matlab output. It will display all the output generated by matlab. Currently, it can parse input as well, though that is limited to normal keystrokes. Simple commands may be given, but still the full functionality as found in a shell is not present yet. This latter feature is still experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of the matlab engine. The information stored here can be used for debugging and to see whether the matlab engine is running properly. The connection to matlab engine can be closed here as well and new connections can be made without the need of executing the module.
====Translation of FIELDS====
The following is an incomplete overview of the translation between SCIRun and MATLAB field objects. The following describes how fields are to be prepared in matlab for it to be used in SCIRun. The opposite process will be done for the input ports. Note that there one can specify whether one ones a structured or numerical matlab array. In case of numerical array only the data from the field is taken and the rest is thrown away. In case of a structured matlab array the data is fitted into a structure with the same fields as described below.
The following sections describe the fields of the structure matrix can be defined and are recognized by the module.
====Unstructured Meshes ====
FIELDNAME .node This field is required for unstructured meshes and defines the position of the nodes within the mesh. This matrix should be a dense 3 by M matrix, where M is the number of nodes.
FIELDNAME .edge This field is required for curve meshes and defines the line elements in the mesh. This matrix should be a dense 2 by N matrix, where N is the number of line segments. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this EDGE matrix is zero, a zero base is assumed.
FIELDNAME .face This field is required for surfaces meshes and defines the surface elements in the mesh. This matrix should be a dense 3 by N matrix for triangulated meshes and a 4 by N matrix for quadsurf meshes. Here N is the number of surface elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this FACE matrix is zero, a zero base is assumed.
FIELDNAME .cell This field is required for volume meshes and defines the volume elements in the mesh. This matrix should be a dense 4 by N matrix for tetrahedral meshes, or a 6 by N matrix for prism shaped volume elements, or a 8 by N matrix for hexahedral elements. Here N is the number of volume elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this CELL matrix is zero, a zero base is assumed.
====Structured Meshes====
FIELDNAMES x , y , AND z The fields X, Y, and Z form the description of a structured mesh. These fields are 1D, 2D, or 3D matrices defining the structured line, surface, or volume data. The connectivity of these meshes is defined by the position of the matrix, neighboring elements are connected. In this definition matrix X defines the x cartesian co-ordinate of each node, matrix Y the y cartesian co-ordinate and matrix Z the z cartesian co-ordinate. This kind of definition is compatible with MATLAB functions such as ndmesh() and sphere().
====Structured regular Meshes====
As structured matlab arrays:
FIELDNAME .dims This field describes the dimensions of the regular grid and is required for making a regular structured mesh. This field is a vector with 1, 2, or 3 elements describing the dimensions in each direction. Hence depending on this field the module creates a line, a surface, or a volume. This field is required for structured regular meshes.
FIELDNAME .transform This field describes a 4x4 matrix which defines an affine transformation, which is applied to the mesh. This matrix describes rotation, translation and scaling of each node in the regular mesh. This field is optional and does not need to be supplied. In case on transform matrix is defined a regular grid with spacing of 1 in each direction will be generated. [NEED TO ADD MORE DETAILS]
As regular dense matrices:
ImageFields and LatVolFields can be entered as well as dense matrices. A 2D matrix will be translated into an ImageField, and a 3D matrix will be translated into a LatVolField. When entering data as regular matrices, the data is assumed to be on the nodes and to be a scalar double field.
Note: The displaying dimensions between matlab and SCIRun are flipped, in matlab the first dimension is along the vertical axis, whereas in SCIRun it is along the horizontal axis. Depending on the application the data may need to be transposed, in order to make to obtain the proper vertical alignment.
====Field Data====
FIELDNAME .field A matrix specifying scalar/vector/tensor data for each node/element in the mesh. Each subsequent element in this vector is added to the next node/element in the field. Use the field FIELDLOCATION to specify where the data should be located. The module detects the type of data. The tensor and respectively the vector dimension is assumed to be the first one.
FIELDNAME .fieldtype A string specifying the type of data stored in field. Currently three value are accepted: 'scalar', 'vector', and 'tensor'. If this type information is omitted it defaults to 'scalar'
FIELDNAME .fieldat The location of the data. This field is a string describing where the data should be located. The default field location is assumed to be the nodes, meaning each node has a scalar, vector, or tensor value. In case the data is at the nodes, this field does not to be specified. This field is a string with the following options: "node", "edge", "face", or "cell". This field can be a number as well, which will describe the basis order of the element.
The way of specifying a field was different in version 1.22 of SCIRun. The modules still support input through the fields 'vectorfield', 'tensorfield', and 'scalarfield'. However to be compatible with future additions this has been changed to a combination of 'field' and 'fieldtype'. The new fieldwriters will use this convention instead of the old one.
The module will try to reconstruct data, for instance if a matrix is transposed, it will detect this and read the data properly. Most of the fields mentioned are optional and are not necessary. Only choose those fields from the list that are needed to describe your data. Currently not every field type supported by SCIRun is implemented in this module. Hopefully future versions will support more data types and have even less restrictive converters.
==== Example 1: preparing MATLAB file ====
The following lines of MATLAB code demonstrate how to structure a matrix for the use in SCIRun:
Assuming that the nodes are specified in nodematrix and the connectivity of these nodes is specified in facematrix
>> geom.node = nodematrix
>> geom.face = facematrix
Opening the file with the InterfaceWithMatlabFieldsReader module will show that there is one data matrix called "geom" whose contents is a TRISURFMESH with no data on any of the node points
In case MATLAB is not available to structure the data, use the MODULE REFERENCE module to read a MATLAB matrix data directly and use the MODULE REFERENCE module to construct a Field out of the Nrrd object.
==== Example 2: Creating a structured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab file with the matlab logo on a structured mesh:
>> [X,Y,DATA] = peaks(100);
>> field.x = X;
>> field.y = Y;
>> field.z = DATA;
>> field.scalarfield = DATA;
This will create a surface mesh in the shape of the peaks logo and uses the z value as its data values. Be sure to specify all the three cartensian coordinates, omitting one will result in the module not to recognise the mesh and it will not display the object in its selection box.
==== Exampe 3: Creating an unstructured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab fiel with an unstructured tesselated surface:
>> [X,Y,Z] = ndmesh(1:10,1:10,0);
>> field.node = [X(:)'; Y(:)'; Z(:)'];
>> field.face = delauney(X,Y);
>> field.scalarfield = X(:).^2;
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
1730
1579
2006-11-01T04:50:39Z
Blackham
44
wikitext
text/x-wiki
=='''InterfaceWithMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: Interface
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Interactive InterfaceWithMatlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects.
====Detailed Description====
====Overview====
This module launches MATLAB as a separate process under control of SCIRun. The process can be on a remote machine or a local machine. In case the module is running on a remote machine the communication with matlab will be through sockets. In the latter case the entry fields in the middle panel of the GUI will need to be filled out with the IP address (it will automatically do a DNS lookup), the port number and a password. A password is only necessary for a remote MATLAB engine that is configured to require a password when launching MATLAB. The current implementation has an optional password in the matlabegine.rc, if this field is left empty no password check is done. The current implementation does not make use of secure sockets, this implementation is still under development. In order to run multiple MATLAB processes simultaneously different sessions can be launched. Each session on the same machine will share the global workspace in MATLAB and code is being executed sequentially for all modules making use of that session. Hence variables declared in the global workspace can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the MATLAB OUTPUT window. The module needs to be executed in order to launch matlab, but will then remain active until the module is destroyed. Alternatively MATLAB can be launched from the InterfaceWithMatlabEngine Status panel in the right lower corner. It can be disconnected using the 'disconnect' button in the same panel. That the MATLAB process is kept alive between executions is done to smoothen the executing of matlab networks and as well to be able to store variables in matlab's workspace for later usage. However before the module is executed the translation table of SCIRun objects to matlab objects needs to be setup. This is accomplished by connecting the SCIRun object to one of the input ports on the module. Note that there are ports for Matrices, Fields and Nrrds. In the translation menu the Field section deals with the translation of fields, the Matrix section with the translation of Matrices and the Nrrd section with the translation of the nrrds. Each line in this translation table refers to one set of input and output ports. First of all the module will need to know how the object should be called in MATLAB, it is going to be a matlab array and thus needs to have a name. Then depending on the SCIRun object the object can be translated into structured arrays or numeric arrays, whose numeric format can be set as well. See the sections below for more details. Then at the end of the line the name of the matlab array that needs to be translated back into a SCIRun object. Here a name is sufficient as the translation process will do the rest. The name can be the same as the input array, but it might refer to another array as well.
The process of running code in MATLAB is accomplished as follows: SCIRun will translate the SCIRun objects into matlab compatible objects and write them in a file and then instructs matlab to read this file. Since all communication is through the stdin of matlab, using files makes sure that the data does not have to be written out in ASCII readable code. The module is smart enough to recognize that it translated objects before. If this is the case it will not do the translation again and it will use the file already generated. When loading data into matlab the objects that were already there with the same name will be overwritten. Subsequently the module will take the code the user entered in the GUI and wrap it in a 'try/catch' environment and execute it in matlab. All output generated on the stdout will be displayed in the module. It will write a tag of when the code starts executing as well one on when the code finished executing. These are markers for the module to keep track of when matlab finishes executing code. Please make sure that your progam does NOT generate output that resembles these markers as it will confuse the InterfaceWithMatlab Interface. Once the end marker is encountered, the module will instruct matlab to save the variables in the workspace so they can be read in by SCIRun.
The third window on the bottom will show the current status of the matlab engine. Note: when session 0 is requested a new session number will be assigned to the matlab process, which has not been used before. The new session number will appear in this status window. This option can be used to give each InterfaceWithMatlabInterface Module its own matlab process running in the background.
====Local configuration====
Before the module can be used, SCIRun needs to know how to run matlab on the local machine. This is accomplished by the configuration file 'matlabengine.rc', which will be created in the SCIRun/services directory in your local HOME directory. This file is copied out of the src tree the first time SCIRun is run. This file configures how matlab should be run. Edit the line 'startmatlab=' to instruct SCIRun how matlab should be started from an 'sh'-compatible shell. If matlab can already be found using the PATH settings in the shell launching SCIRun, this line probably does not need to be altered. All other fields in this file refer to running matlab on a remote machine. In case SCIRun will not be able to launch matlab a message will be displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE ADDRESS' in the GUI needs to have an empty Address and does not require a port. SCIRun will in this case automatically launch matlab locally. In the latter case no password checks are done. The local manager does support multiple sessions. To clarify the word session: a session is a matlab process. When multiple InterfaceWithMatlab modules make use of the same session the workspace in matlab is shared. Hence one module can be used to load a large matrix into matlab, whereas another one can be used to iterate over a process with small matrices, while using the big matrix stored by the first one. This will allow for some efficiency improvements.
====Remote configuration====
In order to run matlab on a different machine then SCIRun, a small server program needs to be run on the remote machine. The latter is called 'scirunremote', this program sets up a socket for listening and launches matlab when a request is made on its socket. This program uses the same 'matlabengine.rc' file as the module (though it will look in the local HOME directory of the remote machine). This configuration file can be used to set a password, restrict login to only certain machines in a certain domain. Currently the communication is over an open socket in the future an openssl implementation will be used for secure connections. In order to launch the scirunremote program, type 'scirunremote -port 5678', or which ever port you want to use. The latter program must be run on the remote system and serves as a daemon for starting all kinds of external programs. When launching this application a list of services will be displayed. For the matlab engine to work properly two services need to be switched on: matlabengine and matlabenginefiletransfer. The currently implementation requires the last one even if there is a shared home directory. In the latter case no files are transfered, and only the names of the directories in which temporary files are stored are exchanged. The latter mechanism will reduce the amount of network traffic and hopefully speed up the function of this module.
====Configuration file====
This section shortly lists the different options that can be set in the configuration file 'SCIRun/services/matlabengine.rc'
START MATLAB: This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
DISABLE: This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
PASSWORD: A simple password, as a first line of defense. Better ways will follow.
RHOSTS: A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
MATLABTIMEOUT: How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:Reference_MatlabInterface_GUIpic1.png|The three main panels of the GUI and what they represent]] The GUI is subdivided into three mainparts. The top panel controls the translation from SCIRun objects into matlab objects and vice versa. The middle panel controls where the matlab engine is started and whether a matlab engine is shared with another InterfaceWithMatlab module. The lower panel displays the matlab code that needs to be executed and the output from matlab. The subdivision is shown in figure CROSS REFERENCE.
[[Image:Reference_MatlabInterface_GUIpic2.png|The SCIRun to matlab translation panel]] The first panel configures the matlabconverter which is used to translate SCIRun objects into matlab objects and vice versa. This matlabconverter is the same as used by the modules MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE. The SCIRun objects are translated into matlab files which are stored in a temparory directory that is automatically generated and are subsequently read by matlab. For the translation back into SCIRun a similar mechanism is used which tells matlab to write out the results in matlab files and these files are subsequently loaded into SCIRun. The input options are the same as for the other modules: the first field on the left controls the name that an object has in matlab. This name has to be alphanumeric and needs to adhere to InterfaceWithMatlab's naming convention. When writing matlab code this name can be used to access the object. The second parameter in the list controls the data format used for the matlab objects, i.e. whether the data is written as doubles, floats, or ints; the third parameter controls what kind of object is created. For matrices and nrrd the most logical translation is a multi dimensional matrix, which is thence the default. All the properties and axis settings are lost in such a translation. Hence the option is offered to translate the SCIRun object into a structured array in which each field represents one of the dataelements stored in that SCIRun object. The documentation on which fieldnames are used and how the object is translated, can be found in the documentation of the individual modules doing this translation. A summary of how geometrical data is represented is given below. Concerning the output variables, only the name needs to be known. If the object is not compatible an error message will be generated in the error message GUI of module. This message will also explain why the object could not be translated.
[[Image:Reference_MatlabInterface_GUIpic3.png|GUI for determining where MATLAB should be run]] The second panel tells SCIRun where to launch MATLAB. For a matlab engine on the local machine leave the Address field empty. For a remote engine enter the DNS or IP address of the remote server. The engine should support IPv6 addresses, although the support has not fully been tested. The second field is the port number for a remote matlab process. Currently the program scirunremote needs to be run on the remote side. This program will allow SCIRun to connect to this machine and run all kinds of remote applications. The program scirunremote needs to be run with a port number, this is the number that needs to be entered here. Optionally a password protection can be added. Currently the implementation of the password is a weak protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a certain host is identified by a unique number. This number is stored by the program launching matlab (scirun on the local machine and scirunremote on the remote machine) and is used to see whether a session is already open. If multiple InterfaceWithMatlab modules refer to the same session, no new matlab engine will be opened in stead these modules will share the use of the matlab engine. If session '0' is used a new non existing session number will be assigned by the matlab engine.
[[Image:Reference_MatlabInterface_GUIpic4.png|The panel for running code in matlab]] The lower panel contains there parts: the first for setting the code matlab needs to execute, the second for displaying matlab's output and the third for displaying the current status of the matlab engine. The code to be entered should assume that the matrices that have been created out of SCIRun objects already reside in the work space of matlab. In the code that maintains this absolute paths are used to ensure that the matrices can be found. The code will also be embedded in a try-catch statement to make sure that an end marker is generated even if the code crashes. All these measures to run code are hidden in the engine and the user should not worry about them for simple code. The code in that needs to be execute can be loaded and saved as well. So for more complex tasks the matlab code can be written in a different more userfriendly text editor. The extension of the filenames need to .m and are similar to matlab scripts. Please do not confuse these with functions. The latter will not work as functions need the input to be parsed to them. If a function call is desired, put the instruction that calls the function in the matlab code field and not the function code itself.
The second part of the lower panel contains the matlab output. It will display all the output generated by matlab. Currently, it can parse input as well, though that is limited to normal keystrokes. Simple commands may be given, but still the full functionality as found in a shell is not present yet. This latter feature is still experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of the matlab engine. The information stored here can be used for debugging and to see whether the matlab engine is running properly. The connection to matlab engine can be closed here as well and new connections can be made without the need of executing the module.
====Translation of FIELDS====
The following is an incomplete overview of the translation between SCIRun and MATLAB field objects. The following describes how fields are to be prepared in matlab for it to be used in SCIRun. The opposite process will be done for the input ports. Note that there one can specify whether one ones a structured or numerical matlab array. In case of numerical array only the data from the field is taken and the rest is thrown away. In case of a structured matlab array the data is fitted into a structure with the same fields as described below.
The following sections describe the fields of the structure matrix can be defined and are recognized by the module.
====Unstructured Meshes ====
FIELDNAME .node This field is required for unstructured meshes and defines the position of the nodes within the mesh. This matrix should be a dense 3 by M matrix, where M is the number of nodes.
FIELDNAME .edge This field is required for curve meshes and defines the line elements in the mesh. This matrix should be a dense 2 by N matrix, where N is the number of line segments. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this EDGE matrix is zero, a zero base is assumed.
FIELDNAME .face This field is required for surfaces meshes and defines the surface elements in the mesh. This matrix should be a dense 3 by N matrix for triangulated meshes and a 4 by N matrix for quadsurf meshes. Here N is the number of surface elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this FACE matrix is zero, a zero base is assumed.
FIELDNAME .cell This field is required for volume meshes and defines the volume elements in the mesh. This matrix should be a dense 4 by N matrix for tetrahedral meshes, or a 6 by N matrix for prism shaped volume elements, or a 8 by N matrix for hexahedral elements. Here N is the number of volume elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this CELL matrix is zero, a zero base is assumed.
====Structured Meshes====
FIELDNAMES x , y , AND z The fields X, Y, and Z form the description of a structured mesh. These fields are 1D, 2D, or 3D matrices defining the structured line, surface, or volume data. The connectivity of these meshes is defined by the position of the matrix, neighboring elements are connected. In this definition matrix X defines the x cartesian co-ordinate of each node, matrix Y the y cartesian co-ordinate and matrix Z the z cartesian co-ordinate. This kind of definition is compatible with MATLAB functions such as ndmesh() and sphere().
====Structured regular Meshes====
As structured matlab arrays:
FIELDNAME .dims This field describes the dimensions of the regular grid and is required for making a regular structured mesh. This field is a vector with 1, 2, or 3 elements describing the dimensions in each direction. Hence depending on this field the module creates a line, a surface, or a volume. This field is required for structured regular meshes.
FIELDNAME .transform This field describes a 4x4 matrix which defines an affine transformation, which is applied to the mesh. This matrix describes rotation, translation and scaling of each node in the regular mesh. This field is optional and does not need to be supplied. In case on transform matrix is defined a regular grid with spacing of 1 in each direction will be generated. [NEED TO ADD MORE DETAILS]
As regular dense matrices:
ImageFields and LatVolFields can be entered as well as dense matrices. A 2D matrix will be translated into an ImageField, and a 3D matrix will be translated into a LatVolField. When entering data as regular matrices, the data is assumed to be on the nodes and to be a scalar double field.
Note: The displaying dimensions between matlab and SCIRun are flipped, in matlab the first dimension is along the vertical axis, whereas in SCIRun it is along the horizontal axis. Depending on the application the data may need to be transposed, in order to make to obtain the proper vertical alignment.
====Field Data====
FIELDNAME .field A matrix specifying scalar/vector/tensor data for each node/element in the mesh. Each subsequent element in this vector is added to the next node/element in the field. Use the field FIELDLOCATION to specify where the data should be located. The module detects the type of data. The tensor and respectively the vector dimension is assumed to be the first one.
FIELDNAME .fieldtype A string specifying the type of data stored in field. Currently three value are accepted: 'scalar', 'vector', and 'tensor'. If this type information is omitted it defaults to 'scalar'
FIELDNAME .fieldat The location of the data. This field is a string describing where the data should be located. The default field location is assumed to be the nodes, meaning each node has a scalar, vector, or tensor value. In case the data is at the nodes, this field does not to be specified. This field is a string with the following options: "node", "edge", "face", or "cell". This field can be a number as well, which will describe the basis order of the element.
The way of specifying a field was different in version 1.22 of SCIRun. The modules still support input through the fields 'vectorfield', 'tensorfield', and 'scalarfield'. However to be compatible with future additions this has been changed to a combination of 'field' and 'fieldtype'. The new fieldwriters will use this convention instead of the old one.
The module will try to reconstruct data, for instance if a matrix is transposed, it will detect this and read the data properly. Most of the fields mentioned are optional and are not necessary. Only choose those fields from the list that are needed to describe your data. Currently not every field type supported by SCIRun is implemented in this module. Hopefully future versions will support more data types and have even less restrictive converters.
==== Example 1: preparing MATLAB file ====
The following lines of MATLAB code demonstrate how to structure a matrix for the use in SCIRun:
Assuming that the nodes are specified in nodematrix and the connectivity of these nodes is specified in facematrix
>> geom.node = nodematrix
>> geom.face = facematrix
Opening the file with the InterfaceWithMatlabFieldsReader module will show that there is one data matrix called "geom" whose contents is a TRISURFMESH with no data on any of the node points
In case MATLAB is not available to structure the data, use the MODULE REFERENCE module to read a MATLAB matrix data directly and use the MODULE REFERENCE module to construct a Field out of the Nrrd object.
==== Example 2: Creating a structured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab file with the matlab logo on a structured mesh:
>> [X,Y,DATA] = peaks(100);
>> field.x = X;
>> field.y = Y;
>> field.z = DATA;
>> field.scalarfield = DATA;
This will create a surface mesh in the shape of the peaks logo and uses the z value as its data values. Be sure to specify all the three cartensian coordinates, omitting one will result in the module not to recognise the mesh and it will not display the object in its selection box.
==== Exampe 3: Creating an unstructured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab fiel with an unstructured tesselated surface:
>> [X,Y,Z] = ndmesh(1:10,1:10,0);
>> field.node = [X(:)'; Y(:)'; Z(:)'];
>> field.face = delauney(X,Y);
>> field.scalarfield = X(:).^2;
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Project:NCMIR
0
1061
1581
1580
2006-11-01T19:27:18Z
Cates
4
/* Notes */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode, focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== Ontology-guided Contouring ===
1614
1581
2006-11-01T19:28:31Z
Cates
4
/* Notes */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Data Flow ===
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== Ontology-guided Contouring ===
CIBC:Documentation:SCIRun:DevManual
0
1681
1582
2006-11-01T23:21:11Z
Jeroen
19
wikitext
text/x-wiki
==SCIRun Developer's GUIDE==
*[[CIBC:Documentation:SCIRun:DevManual:CodingStandards|SCIRun Coding standards]]
1583
1582
2006-11-01T23:24:28Z
Jeroen
19
/* SCIRun Developer's GUIDE */
wikitext
text/x-wiki
==SCIRun Developer's GUIDE==
'''TABLE OF CONTENTS:'''
*[[CIBC:Documentation:SCIRun:DevManual:Introduction|Introduction]]
*[[CIBC:Documentation:SCIRun:DevManual:CodingStandards|SCIRun Coding standards]]
*[[CIBC:Documentation:SCIRun:DevManual:Dataflow|Dataflow]]
1584
1583
2006-11-01T23:28:14Z
Jeroen
19
/* SCIRun Developer's GUIDE */
wikitext
text/x-wiki
==SCIRun Developer's GUIDE==
'''OVERVIEW'''
This manual is intended for the developer who is new to the SCIRun framework and who wants to contiribute to the development of the SCIRun framework.
'''TABLE OF CONTENTS:'''
*[[CIBC:Documentation:SCIRun:DevManual:Introduction|Introduction]]
*[[CIBC:Documentation:SCIRun:DevManual:CodingStandards|SCIRun Coding standards]]
*[[CIBC:Documentation:SCIRun:DevManual:Dataflow|Dataflow]]
1591
1584
2006-11-01T23:30:33Z
Jeroen
19
/* SCIRun Developer's GUIDE */
wikitext
text/x-wiki
==SCIRun 3.0 Developer's GUIDE==
'''OVERVIEW'''
This manual is intended for the developer who is new to the SCIRun framework and who wants to contiribute to the development of the SCIRun framework. It features the basic strategies used in managing dataflow environment and an overview of the classes needed to extend the framework.
'''TABLE OF CONTENTS:'''
*[[CIBC:Documentation:SCIRun:DevManual:Introduction|Introduction]]
*[[CIBC:Documentation:SCIRun:DevManual:CodingStandards|SCIRun Coding standards]]
*[[CIBC:Documentation:SCIRun:DevManual:Dataflow|Dataflow]]
1594
1591
2006-11-02T00:52:48Z
Jeroen
19
/* SCIRun 3.0 Developer's GUIDE */
wikitext
text/x-wiki
==SCIRun 3.0 Developer's GUIDE==
'''OVERVIEW'''
This manual is intended for the developer who is new to the SCIRun framework and who wants to contiribute to the development of the SCIRun framework. It features the basic strategies used in managing dataflow environment and an overview of the classes needed to extend the framework.
'''TABLE OF CONTENTS:'''
*[[CIBC:Documentation:SCIRun:DevManual:Introduction|Introduction]]
*[[CIBC:Documentation:SCIRun:DevManual:CodingStandards|SCIRun Coding standards]]
*[[CIBC:Documentation:SCIRun:DevManual:Dataflow|Dataflow]]
*[[CIBC:Documentation:SCIRun:DevManual:DynamicCompilation|Dynamic Compilation]]
1602
1594
2006-11-02T04:18:55Z
Jeroen
19
/* SCIRun 3.0 Developer's GUIDE */
wikitext
text/x-wiki
==SCIRun 3.0 Developer's GUIDE==
'''OVERVIEW'''
This manual is intended for the developer who is new to the SCIRun framework and who wants to contiribute to the development of the SCIRun framework. It features the basic strategies used in managing dataflow environment and an overview of the classes needed to extend the framework.
'''TABLE OF CONTENTS:'''
*[[CIBC:Documentation:SCIRun:DevManual:Introduction|Introduction]]
*[[CIBC:Documentation:SCIRun:DevManual:CodingStandards|SCIRun Coding standards]]
*[[CIBC:Documentation:SCIRun:DevManual:Dataflow|Dataflow]]
*[[CIBC:Documentation:SCIRun:DevManual:DynamicCompilation|Dynamic Compilation]]
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]
1604
1602
2006-11-02T05:56:03Z
Jeroen
19
/* SCIRun 3.0 Developer's GUIDE */
wikitext
text/x-wiki
==SCIRun 3.0 Developer's GUIDE==
'''OVERVIEW'''
This manual is intended for the developer who is new to the SCIRun framework and who wants to contiribute to the development of the SCIRun framework. It features the basic strategies used in managing dataflow environment and an overview of the classes needed to extend the framework.
'''TABLE OF CONTENTS:'''
*[[CIBC:Documentation:SCIRun:DevManual:Introduction|Introduction]]
*[[CIBC:Documentation:SCIRun:DevManual:CodingStandards|SCIRun Coding standards]]
*[[CIBC:Documentation:SCIRun:DevManual:Dataflow|Dataflow]]
*[[CIBC:Documentation:SCIRun:DevManual:DynamicCompilation|Dynamic Compilation]]
*[[CIBC:Documentation:SCIRun:DevManual:InterfaceToTCL|Interface To TCL]]
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]
1605
1604
2006-11-02T06:09:53Z
Jeroen
19
/* SCIRun 3.0 Developer's GUIDE */
wikitext
text/x-wiki
==SCIRun 3.0 Developer's GUIDE==
'''OVERVIEW'''
This manual is intended for the developer who is new to the SCIRun framework and who wants to contiribute to the development of the SCIRun framework. It features the basic strategies used in managing dataflow environment and an overview of the classes needed to extend the framework.
'''TABLE OF CONTENTS:'''
*[[CIBC:Documentation:SCIRun:DevManual:Introduction|Introduction]]
*[[CIBC:Documentation:SCIRun:DevManual:CodingStandards|SCIRun Coding standards]]
*[[CIBC:Documentation:SCIRun:DevManual:Dataflow|Dataflow]]
*[[CIBC:Documentation:SCIRun:DevManual:DynamicCompilation|Dynamic Compilation]]
*[[CIBC:Documentation:SCIRun:DevManual:InterfaceToTCL|Interface To TCL]]
*[[CIBC:Documentation:SCIRun:DevManual:MemoryManagement| Memory Management]]
*[[CIBC:Documentation:SCIRun:DevManual:PersistentIO|Persistent IO]]
*[[CIBC:Documentation:SCIRun:DevManual:CostumTkWidgets|Custom Tk Widgets]]
*[[CIBC:Documentation:SCIRun:DevManual:Utilities|SCIRun Utilities]]
*[[CIBC:Documentation:SCIRun:DevManual:Exceptions|SCIRun Exceptions]]
*[[CIBC:Documentation:SCIRun:DevManual:WidgetsAndConstraints|3D Widgets and Constraints in SCIRun]]
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]
3823
1605
2006-11-02T06:10:11Z
Jeroen
19
/* SCIRun 3.0 Developer's GUIDE */
wikitext
text/x-wiki
==SCIRun 3.0 Developer's GUIDE==
'''OVERVIEW'''
This manual is intended for the developer who is new to the SCIRun framework and who wants to contiribute to the development of the SCIRun framework. It features the basic strategies used in managing dataflow environment and an overview of the classes needed to extend the framework.
'''TABLE OF CONTENTS:'''
*[[CIBC:Documentation:SCIRun:DevManual:Introduction|Introduction]]
*[[CIBC:Documentation:SCIRun:DevManual:CodingStandards|SCIRun Coding standards]]
*[[CIBC:Documentation:SCIRun:DevManual:Dataflow|Dataflow]]
*[[CIBC:Documentation:SCIRun:DevManual:DynamicCompilation|Dynamic Compilation]]
*[[CIBC:Documentation:SCIRun:DevManual:InterfaceToTCL|Interface To TCL]]
*[[CIBC:Documentation:SCIRun:DevManual:MemoryManagement| Memory Management]]
*[[CIBC:Documentation:SCIRun:DevManual:PersistentIO|Persistent IO]]
*[[CIBC:Documentation:SCIRun:DevManual:CostumTkWidgets|Custom Tk Widgets]]
*[[CIBC:Documentation:SCIRun:DevManual:Utilities|SCIRun Utilities]]
*[[CIBC:Documentation:SCIRun:DevManual:Exceptions|SCIRun Exceptions]]
*[[CIBC:Documentation:SCIRun:DevManual:WidgetsAndConstraints|3D Widgets and Constraints in SCIRun]]
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:DevManual:CodingStandards
0
1682
1585
2006-11-01T23:38:15Z
Jeroen
19
wikitext
text/x-wiki
==Coding standards==
*All code and comments are to be written in English.
*All files must include appropriate license information.
*Use the C++ mode in GNU Emacs and sci-c++-style.el to format code.
*Include files in C++ always have the file name extension .h.
*Implementation files in C++ always have the file name extension .cc.
*Every include file must contain a “guard” that prevents multiple inclusions of the file, for example:
#ifndef CORE_GEOMETRY_BBOX_H
#define CORE_GEOMETRY_BBOX_H 1
// Code...
#endif
*The name of the guard should be of the following form: DIR_DIR_FILENAME_H
*Use forward declarations wherever possible as opposed to including full definitions for classes, functions, and data:
// Class
class PointToMe;
// Function
void my_function(PointToMe &p, PointToMe *ptm);
// Data
PointToMe *m;
*The names of variables and functions will begin with a lowercase letter and include underscore word separators. Names of constants should be in all CAPITALS, with underscore word separation:
static int CONSTANT_INT_FIVE = 5;
void my_function_name();
int my_local_variable_name = 0;
*The names of class member variables are to end with an underscore, “_”:
class SomeObject {
int count_;
};
*The names of abstract data types (eg: Classes), and structs are to begin with an uppercase letter and each new word in the name should also be capitalized.
class MyNewClassName {
// ...
};
*Declare as const a member function that does not change the state of an object.
12.
Constants are to be defined using const or enum. Never use #define to create constants.
13.
A class which uses new to allocate instances managed by the class must define a copy constructor and an assignment operator.
14.
All classes which are used as base classes and which have virtual functions, must define a virtual destructor.
15.
Always use delete[] to deallocate arrays.
16.
Use exception handling to trap errors (although exceptions should only be used for trapping truly exceptional events).
Our exception model includes two levels of exceptions. The top level of exceptions are defined in Classlib/Exceptions.h and are thrown when a class specific exception is not appropriate.
The bottom level of exceptions are class specific, defined in the class that throws them, and are subclassed off of the top level exceptions. These class specific exceptions are exceptions that can be caught and handled from the calling function (1 level above the class.) However, if the calling function chooses not to (or cannot) handle the class specific exception, the exception will propagate to the next level at which point it can be trapped and handled in the form of a top level exception. An example of a class specific exception would be a StackUnderFlowException for a stack class.
17.
Comments should support generated documentation format. Comments in declarations should be of the form:
//! …
or
/*! … */
These comments will then be visible in our online documentation.
Comments in the definition part of your code need not have the !, as all the code is visible online including comments.
Create comments that help the reader navigate your code. Comments should help the reader find the area of code he/she is looking for quickly.
18.
Do not use identifiers which begin with one ('_') or two ('__') underscores.
19.
Never use the $Id or $Log cvs directives. This confuses merging between branches.
20.
Do not use #define to obtain more efficient code— use inline functions instead.
21.
Avoid the use of numeric values in code; use symbolic values instead. This applies to numeric values that are repeated within the code but represent the same value. Eg: MAX_ARRAY_SIZE = 1024.
22.
Do not compare a pointer to NULL or assign NULL to a pointer; use 0 instead.
23.
Avoid explicit type conversions (casts). If you must cast use dynamic_cast and insert a comment explaining why.
24.
Never convert a constant to a non-constant. Use mutable if necesary. However, be aware of the thread safety problems this causes.
25.
Never use goto.
26.
Do not use malloc, realloc, or free.
1586
1585
2006-11-01T23:48:15Z
Jeroen
19
wikitext
text/x-wiki
==Coding standards==
===Required Standars===
*All code and comments are to be written in English.
*All files must include appropriate license information.
*Use the C++ mode in GNU Emacs and sci-c++-style.el to format code.
*Include files in C++ always have the file name extension .h.
*Implementation files in C++ always have the file name extension .cc.
*Every include file must contain a “guard” that prevents multiple inclusions of the file, for example:
#ifndef CORE_GEOMETRY_BBOX_H
#define CORE_GEOMETRY_BBOX_H 1
// Code...
#endif
*The name of the guard should be of the following form: DIR_DIR_FILENAME_H
*Use forward declarations wherever possible as opposed to including full definitions for classes, functions, and data:
// Class
class PointToMe;
// Function
void my_function(PointToMe &p, PointToMe *ptm);
// Data
PointToMe *m;
*The names of variables and functions will begin with a lowercase letter and include underscore word separators. Names of constants should be in all CAPITALS, with underscore word separation:
static int CONSTANT_INT_FIVE = 5;
void my_function_name();
int my_local_variable_name = 0;
*The names of class member variables are to end with an underscore, “_”:
class SomeObject {
int count_;
};
*The names of abstract data types (eg: Classes), and structs are to begin with an uppercase letter and each new word in the name should also be capitalized.
class MyNewClassName {
// ...
};
*Declare as const a member function that does not change the state of an object.
*Constants are to be defined using const or enum. Never use #define to create constants.
*A class which uses new to allocate instances managed by the class must define a copy constructor and an assignment operator.
*Always use delete[] to deallocate arrays.
*Classes should never assume that the input is perfect and a sensible number of savety checks should be in place to detect faulty inputs.
*Use exception handling to trap errors (although exceptions should only be used for trapping truly exceptional events).
*Our exception model includes two levels of exceptions. The top level of exceptions are defined in Core/Exceptions/Exceptions.h and are thrown when a class specific exception is not appropriate. The bottom level of exceptions are class specific, defined in the class that throws them, and are subclassed off of the top level exceptions. These class specific exceptions are exceptions that can be caught and handled from the calling function (1 level above the class.) However, if the calling function chooses not to (or cannot) handle the class specific exception, the exception will propagate to the next level at which point it can be trapped and handled in the form of a top level exception. An example of a class specific exception would be a StackUnderFlowException for a stack class.
*Comments should support generated documentation format. Comments in declarations should be of the form:
//! …
or
/*! … */
These comments will then be visible in our online documentation. Comments in the definition part of your code need not have the !, as all the code is visible online including comments. Create comments that help the reader navigate your code. Comments should help the reader find the area of code he/she is looking for quickly.
*Do not use identifiers which begin with one ('_') or two ('__') underscores.
*Never use the $Id or $Log cvs directives. This confuses merging between branches.
*Do not use #define to obtain more efficient code— use inline functions instead.
*Avoid the use of numeric values in code; use symbolic values instead. This applies to numeric values that are repeated within the code but represent the same value. Eg: MAX_ARRAY_SIZE = 1024.
*Do not compare a pointer to NULL or assign NULL to a pointer; use 0 instead.
*Avoid explicit type conversions (casts). If you must cast use dynamic_cast and insert a comment explaining why.
*Never convert a constant to a non-constant. Use mutable if necesary. However, be aware of the thread safety problems this causes.
*Never use goto.
*Do not use 'malloc', 'realloc', or 'free'. Use 'new' and 'delete' instead
1587
1586
2006-11-01T23:48:44Z
Jeroen
19
/* Required Standars */
wikitext
text/x-wiki
==Coding standards==
===Required Standards===
*All code and comments are to be written in English.
*All files must include appropriate license information.
*Use the C++ mode in GNU Emacs and sci-c++-style.el to format code.
*Include files in C++ always have the file name extension .h.
*Implementation files in C++ always have the file name extension .cc.
*Every include file must contain a “guard” that prevents multiple inclusions of the file, for example:
#ifndef CORE_GEOMETRY_BBOX_H
#define CORE_GEOMETRY_BBOX_H 1
// Code...
#endif
*The name of the guard should be of the following form: DIR_DIR_FILENAME_H
*Use forward declarations wherever possible as opposed to including full definitions for classes, functions, and data:
// Class
class PointToMe;
// Function
void my_function(PointToMe &p, PointToMe *ptm);
// Data
PointToMe *m;
*The names of variables and functions will begin with a lowercase letter and include underscore word separators. Names of constants should be in all CAPITALS, with underscore word separation:
static int CONSTANT_INT_FIVE = 5;
void my_function_name();
int my_local_variable_name = 0;
*The names of class member variables are to end with an underscore, “_”:
class SomeObject {
int count_;
};
*The names of abstract data types (eg: Classes), and structs are to begin with an uppercase letter and each new word in the name should also be capitalized.
class MyNewClassName {
// ...
};
*Declare as const a member function that does not change the state of an object.
*Constants are to be defined using const or enum. Never use #define to create constants.
*A class which uses new to allocate instances managed by the class must define a copy constructor and an assignment operator.
*Always use delete[] to deallocate arrays.
*Classes should never assume that the input is perfect and a sensible number of savety checks should be in place to detect faulty inputs.
*Use exception handling to trap errors (although exceptions should only be used for trapping truly exceptional events).
*Our exception model includes two levels of exceptions. The top level of exceptions are defined in Core/Exceptions/Exceptions.h and are thrown when a class specific exception is not appropriate. The bottom level of exceptions are class specific, defined in the class that throws them, and are subclassed off of the top level exceptions. These class specific exceptions are exceptions that can be caught and handled from the calling function (1 level above the class.) However, if the calling function chooses not to (or cannot) handle the class specific exception, the exception will propagate to the next level at which point it can be trapped and handled in the form of a top level exception. An example of a class specific exception would be a StackUnderFlowException for a stack class.
*Comments should support generated documentation format. Comments in declarations should be of the form:
//! …
or
/*! … */
These comments will then be visible in our online documentation. Comments in the definition part of your code need not have the !, as all the code is visible online including comments. Create comments that help the reader navigate your code. Comments should help the reader find the area of code he/she is looking for quickly.
*Do not use identifiers which begin with one ('_') or two ('__') underscores.
*Never use the $Id or $Log cvs directives. This confuses merging between branches.
*Do not use #define to obtain more efficient code— use inline functions instead.
*Avoid the use of numeric values in code; use symbolic values instead. This applies to numeric values that are repeated within the code but represent the same value. Eg: MAX_ARRAY_SIZE = 1024.
*Do not compare a pointer to NULL or assign NULL to a pointer; use 0 instead.
*Avoid explicit type conversions (casts). If you must cast use dynamic_cast and insert a comment explaining why.
*Never convert a constant to a non-constant. Use mutable if necesary. However, be aware of the thread safety problems this causes.
*Never use goto.
*Do not use 'malloc', 'realloc', or 'free'. Use 'new' and 'delete' instead
1588
1587
2006-11-02T00:01:56Z
Jeroen
19
/* Required Standards */
wikitext
text/x-wiki
==Coding standards==
===Required Standards===
*All code and comments are to be written in English.
*All files must include appropriate license information.
*Use the C++ mode in GNU Emacs and sci-c++-style.el to format code.
*Include files in C++ always have the file name extension .h.
*Implementation files in C++ always have the file name extension .cc.
*Every include file must contain a “guard” that prevents multiple inclusions of the file, for example:
#ifndef CORE_GEOMETRY_BBOX_H
#define CORE_GEOMETRY_BBOX_H 1
// Code...
#endif
*The name of the guard should be of the following form: DIR_DIR_FILENAME_H
*Use forward declarations wherever possible as opposed to including full definitions for classes, functions, and data:
// Class
class PointToMe;
// Function
void my_function(PointToMe &p, PointToMe *ptm);
// Data
PointToMe *m;
*The names of variables and functions will begin with a lowercase letter and include underscore word separators. Names of constants should be in all CAPITALS, with underscore word separation:
static int CONSTANT_INT_FIVE = 5;
void my_function_name();
int my_local_variable_name = 0;
*The names of class member variables are to end with an underscore, “_”:
class SomeObject {
int count_;
};
*The names of abstract data types (eg: Classes), and structs are to begin with an uppercase letter and each new word in the name should also be capitalized.
class MyNewClassName {
// ...
};
*Declare as const a member function that does not change the state of an object.
*Constants are to be defined using const or enum. Never use #define to create constants.
*A class which uses new to allocate instances managed by the class must define a copy constructor and an assignment operator.
*Always use delete[] to deallocate arrays.
*Classes should never assume that the input is perfect and a sensible number of savety checks should be in place to detect faulty inputs.
*Use exception handling to trap errors (although exceptions should only be used for trapping truly exceptional events).
*Our exception model includes two levels of exceptions. The top level of exceptions are defined in Core/Exceptions/Exceptions.h and are thrown when a class specific exception is not appropriate. The bottom level of exceptions are class specific, defined in the class that throws them, and are subclassed off of the top level exceptions. These class specific exceptions are exceptions that can be caught and handled from the calling function (1 level above the class.) However, if the calling function chooses not to (or cannot) handle the class specific exception, the exception will propagate to the next level at which point it can be trapped and handled in the form of a top level exception. An example of a class specific exception would be a StackUnderFlowException for a stack class.
*Comments should support generated documentation format. Comments in declarations should be of the form:
//! …
or
/*! … */
These comments will then be visible in our online documentation. Comments in the definition part of your code need not have the !, as all the code is visible online including comments. Create comments that help the reader navigate your code. Comments should help the reader find the area of code he/she is looking for quickly.
*Do not use identifiers which begin with one ('_') or two ('__') underscores.
*Never use the $Id or $Log cvs directives. This confuses merging between branches.
*Do not use #define to obtain more efficient code— use inline functions instead.
*Avoid the use of numeric values in code; use symbolic values instead. This applies to numeric values that are repeated within the code but represent the same value. Eg: MAX_ARRAY_SIZE = 1024.
*Do not compare a pointer to NULL or assign NULL to a pointer; use 0 instead.
*Avoid explicit type conversions (casts). However when a cast is needed, an explicit cast is prefered over having the compiler decide which kind of cast to do.
*Never convert a constant to a non-constant. Use mutable if necesary. However, be aware of the thread safety problems this causes.
*Never use goto.
*Do not use 'malloc', 'realloc', or 'free'. Use 'new' and 'delete' instead
===Recommended coding standards===
*Never use more than 80 columns per line. This way the code is easier to edit in older editors.
*An include file for a class should have a file name of the form class name.h. Use uppercase and lowercase letters in the same way as in the source code.
*Never include ''/usr/include/*.h'', for example iostream.h in any header file. This causes a huge amount of code to be recursively included and needlessly compiled. Use forward declarations to avoid this.
*Group local includes together, then group system includes together.
*Avoid global data if possible.
*Optimize code only if you know that you have a performance problem. Think twice before you begin.
*Always force your compiler to compile with the maximum warning setting, and before you check in code, fix all warnings.
*Place machine-dependent code in a special file so that it may be easily located when porting code from one machine to another.
*Encapsulate global variables and constants, enumerated types, and typedefs in a class.
*Functions in general should not be more than 30 lines long (excluding documentation and indentation). If you find this situation, break the function into several smaller functions.
*If a function stores a pointer to an object which is accessed via an argument, let the argument have the type pointer. Use reference arguments in other cases.
*When overloading functions, all variations should have the same semantics (be used for the same purpose).
*Do not assume that you know how the invocation mechanism for a function is implemented.
*Do not assume that an object is initialized in any special order in constructors.
*Do not assume that static objects are initialized in any special order.
*Use a typedef to simplify program syntax when declaring function pointers, or templated types.
*When two operators are opposites (such as == and !=), it is appropriate to define both.
*Use constant references ''(const &)'' instead of call-by-value, unless using a pre-defined data type or a pointer.
*Minimize the number of temporary objects that are created as return values from functions or as arguments to functions.
*Do not write code which is dependent on the lifetime of a temporary object.
*Do not assume that the operands in an expression are evaluated in a definite order. Use parenthesis to enforce an order.
*Use parentheses to clarify the order of evaluation for operators in expressions.
*Avoid using shift operations instead of arithmetic operations.
*Use ''std::cout'' instead of ''printf''.
*Do not assume that an int and a long have the same size nor that they are always 32 bits in length.
*Do not assume that pointers and integers have the same size.
*Do not assume that longs, floats, doubles or long doubles may begin at arbitrary addresses.
*Always use plain char if 8-bit ASCII is used. Otherwise, use signed char or unsigned char.
*Do not assume that a char is signed or unsigned.
*Do not depend on underflow or overflow functioning in any special way.
1589
1588
2006-11-02T00:05:57Z
Jeroen
19
/* Recommended coding standards */
wikitext
text/x-wiki
==Coding standards==
===Required Standards===
*All code and comments are to be written in English.
*All files must include appropriate license information.
*Use the C++ mode in GNU Emacs and sci-c++-style.el to format code.
*Include files in C++ always have the file name extension .h.
*Implementation files in C++ always have the file name extension .cc.
*Every include file must contain a “guard” that prevents multiple inclusions of the file, for example:
#ifndef CORE_GEOMETRY_BBOX_H
#define CORE_GEOMETRY_BBOX_H 1
// Code...
#endif
*The name of the guard should be of the following form: DIR_DIR_FILENAME_H
*Use forward declarations wherever possible as opposed to including full definitions for classes, functions, and data:
// Class
class PointToMe;
// Function
void my_function(PointToMe &p, PointToMe *ptm);
// Data
PointToMe *m;
*The names of variables and functions will begin with a lowercase letter and include underscore word separators. Names of constants should be in all CAPITALS, with underscore word separation:
static int CONSTANT_INT_FIVE = 5;
void my_function_name();
int my_local_variable_name = 0;
*The names of class member variables are to end with an underscore, “_”:
class SomeObject {
int count_;
};
*The names of abstract data types (eg: Classes), and structs are to begin with an uppercase letter and each new word in the name should also be capitalized.
class MyNewClassName {
// ...
};
*Declare as const a member function that does not change the state of an object.
*Constants are to be defined using const or enum. Never use #define to create constants.
*A class which uses new to allocate instances managed by the class must define a copy constructor and an assignment operator.
*Always use delete[] to deallocate arrays.
*Classes should never assume that the input is perfect and a sensible number of savety checks should be in place to detect faulty inputs.
*Use exception handling to trap errors (although exceptions should only be used for trapping truly exceptional events).
*Our exception model includes two levels of exceptions. The top level of exceptions are defined in Core/Exceptions/Exceptions.h and are thrown when a class specific exception is not appropriate. The bottom level of exceptions are class specific, defined in the class that throws them, and are subclassed off of the top level exceptions. These class specific exceptions are exceptions that can be caught and handled from the calling function (1 level above the class.) However, if the calling function chooses not to (or cannot) handle the class specific exception, the exception will propagate to the next level at which point it can be trapped and handled in the form of a top level exception. An example of a class specific exception would be a StackUnderFlowException for a stack class.
*Comments should support generated documentation format. Comments in declarations should be of the form:
//! …
or
/*! … */
These comments will then be visible in our online documentation. Comments in the definition part of your code need not have the !, as all the code is visible online including comments. Create comments that help the reader navigate your code. Comments should help the reader find the area of code he/she is looking for quickly.
*Do not use identifiers which begin with one ('_') or two ('__') underscores.
*Never use the $Id or $Log cvs directives. This confuses merging between branches.
*Do not use #define to obtain more efficient code— use inline functions instead.
*Avoid the use of numeric values in code; use symbolic values instead. This applies to numeric values that are repeated within the code but represent the same value. Eg: MAX_ARRAY_SIZE = 1024.
*Do not compare a pointer to NULL or assign NULL to a pointer; use 0 instead.
*Avoid explicit type conversions (casts). However when a cast is needed, an explicit cast is prefered over having the compiler decide which kind of cast to do.
*Never convert a constant to a non-constant. Use mutable if necesary. However, be aware of the thread safety problems this causes.
*Never use goto.
*Do not use 'malloc', 'realloc', or 'free'. Use 'new' and 'delete' instead
===Recommended coding standards===
*Never use more than 80 columns per line. This way the code is easier to edit in older editors.
*An include file for a class should have a file name of the form class name.h. Use uppercase and lowercase letters in the same way as in the source code.
*Never include ''/usr/include/*.h'', for example iostream.h in any header file. This causes a huge amount of code to be recursively included and needlessly compiled. Use forward declarations to avoid this.
*Group local includes together, then group system includes together.
*Avoid global data if possible.
*Optimize code only if you know that you have a performance problem. Think twice before you begin.
*Always force your compiler to compile with the maximum warning setting, and before you check in code, fix all warnings.
*Place machine-dependent code in a special file so that it may be easily located when porting code from one machine to another.
*Encapsulate global variables and constants, enumerated types, and typedefs in a class.
*Functions in general should not be more than 30 lines long (excluding documentation and indentation). If you find this situation, break the function into several smaller functions.
*If a function stores a pointer to an object which is accessed via an argument, let the argument have the type pointer. Use reference arguments in other cases.
*When overloading functions, all variations should have the same semantics (be used for the same purpose).
*Do not assume that you know how the invocation mechanism for a function is implemented.
*Do not assume that an object is initialized in any special order in constructors.
*Do not assume that static objects are initialized in any special order.
*Use a typedef to simplify program syntax when declaring function pointers, or templated types.
*When two operators are opposites (such as == and !=), it is appropriate to define both.
*Use constant references ''(const &)'' instead of call-by-value, unless using a pre-defined data type or a pointer.
*Minimize the number of temporary objects that are created as return values from functions or as arguments to functions.
*Do not write code which is dependent on the lifetime of a temporary object.
*Do not assume that the operands in an expression are evaluated in a definite order. Use parenthesis to enforce an order.
*Use parentheses to clarify the order of evaluation for operators in expressions.
*Avoid using shift operations instead of arithmetic operations.
*Use ''std::cout'' instead of ''printf''.
*Do not assume that an int and a long have the same size nor that they are always 32 bits in length.
*Do not assume that pointers and integers have the same size.
*Do not assume that longs, floats, doubles or long doubles may begin at arbitrary addresses.
*Always use plain char if 8-bit ASCII is used. Otherwise, use signed char or unsigned char.
*Do not assume that a char is signed or unsigned.
*Do not depend on underflow or overflow functioning in any special way.
*Avoid the use of ''using namespace std;'' (or other namespaces) in include files as they can spill into other files with unintended consequences.
*Try to use smart pointers (Handles) to automatically deallocate memory when an object is not needed anymore.
1590
1589
2006-11-02T00:48:41Z
Jeroen
19
/* Recommended coding standards */
wikitext
text/x-wiki
==Coding standards==
===Required Standards===
*All code and comments are to be written in English.
*All files must include appropriate license information.
*Use the C++ mode in GNU Emacs and sci-c++-style.el to format code.
*Include files in C++ always have the file name extension .h.
*Implementation files in C++ always have the file name extension .cc.
*Every include file must contain a “guard” that prevents multiple inclusions of the file, for example:
#ifndef CORE_GEOMETRY_BBOX_H
#define CORE_GEOMETRY_BBOX_H 1
// Code...
#endif
*The name of the guard should be of the following form: DIR_DIR_FILENAME_H
*Use forward declarations wherever possible as opposed to including full definitions for classes, functions, and data:
// Class
class PointToMe;
// Function
void my_function(PointToMe &p, PointToMe *ptm);
// Data
PointToMe *m;
*The names of variables and functions will begin with a lowercase letter and include underscore word separators. Names of constants should be in all CAPITALS, with underscore word separation:
static int CONSTANT_INT_FIVE = 5;
void my_function_name();
int my_local_variable_name = 0;
*The names of class member variables are to end with an underscore, “_”:
class SomeObject {
int count_;
};
*The names of abstract data types (eg: Classes), and structs are to begin with an uppercase letter and each new word in the name should also be capitalized.
class MyNewClassName {
// ...
};
*Declare as const a member function that does not change the state of an object.
*Constants are to be defined using const or enum. Never use #define to create constants.
*A class which uses new to allocate instances managed by the class must define a copy constructor and an assignment operator.
*Always use delete[] to deallocate arrays.
*Classes should never assume that the input is perfect and a sensible number of savety checks should be in place to detect faulty inputs.
*Use exception handling to trap errors (although exceptions should only be used for trapping truly exceptional events).
*Our exception model includes two levels of exceptions. The top level of exceptions are defined in Core/Exceptions/Exceptions.h and are thrown when a class specific exception is not appropriate. The bottom level of exceptions are class specific, defined in the class that throws them, and are subclassed off of the top level exceptions. These class specific exceptions are exceptions that can be caught and handled from the calling function (1 level above the class.) However, if the calling function chooses not to (or cannot) handle the class specific exception, the exception will propagate to the next level at which point it can be trapped and handled in the form of a top level exception. An example of a class specific exception would be a StackUnderFlowException for a stack class.
*Comments should support generated documentation format. Comments in declarations should be of the form:
//! …
or
/*! … */
These comments will then be visible in our online documentation. Comments in the definition part of your code need not have the !, as all the code is visible online including comments. Create comments that help the reader navigate your code. Comments should help the reader find the area of code he/she is looking for quickly.
*Do not use identifiers which begin with one ('_') or two ('__') underscores.
*Never use the $Id or $Log cvs directives. This confuses merging between branches.
*Do not use #define to obtain more efficient code— use inline functions instead.
*Avoid the use of numeric values in code; use symbolic values instead. This applies to numeric values that are repeated within the code but represent the same value. Eg: MAX_ARRAY_SIZE = 1024.
*Do not compare a pointer to NULL or assign NULL to a pointer; use 0 instead.
*Avoid explicit type conversions (casts). However when a cast is needed, an explicit cast is prefered over having the compiler decide which kind of cast to do.
*Never convert a constant to a non-constant. Use mutable if necesary. However, be aware of the thread safety problems this causes.
*Never use goto.
*Do not use 'malloc', 'realloc', or 'free'. Use 'new' and 'delete' instead
===Recommended coding standards===
*Never use more than 80 columns per line. This way the code is easier to edit in older editors.
*An include file for a class should have a file name of the form class name.h. Use uppercase and lowercase letters in the same way as in the source code.
*Never include ''/usr/include/*.h'', for example iostream.h in any header file. This causes a huge amount of code to be recursively included and needlessly compiled. Use forward declarations to avoid this.
*Group local includes together, then group system includes together.
*Avoid global data if possible.
*Optimize code only if you know that you have a performance problem. Think twice before you begin.
*Always force your compiler to compile with the maximum warning setting, and before you check in code, fix all warnings.
*Place machine-dependent code in a special file so that it may be easily located when porting code from one machine to another.
*Encapsulate global variables and constants, enumerated types, and typedefs in a class.
*Functions in general should not be more than 30 lines long (excluding documentation and indentation). If you find this situation, break the function into several smaller functions.
*If a function stores a pointer to an object which is accessed via an argument, let the argument have the type pointer. Use reference arguments in other cases.
*When overloading functions, all variations should have the same semantics (be used for the same purpose).
*Do not assume that you know how the invocation mechanism for a function is implemented.
*Do not assume that an object is initialized in any special order in constructors.
*Do not assume that static objects are initialized in any special order.
*Use a typedef to simplify program syntax when declaring function pointers, or templated types.
*When two operators are opposites (such as == and !=), it is appropriate to define both.
*Use constant references ''(const &)'' instead of call-by-value, unless using a pre-defined data type or a pointer.
*Minimize the number of temporary objects that are created as return values from functions or as arguments to functions.
*Do not write code which is dependent on the lifetime of a temporary object.
*Do not assume that the operands in an expression are evaluated in a definite order. Use parenthesis to enforce an order.
*Use parentheses to clarify the order of evaluation for operators in expressions.
*Avoid using shift operations instead of arithmetic operations.
*Use ''std::cout'' instead of ''printf''.
*Do not assume that an int and a long have the same size nor that they are always 32 bits in length.
*Do not assume that pointers and integers have the same size.
*Do not assume that longs, floats, doubles or long doubles may begin at arbitrary addresses.
*Always use plain char if 8-bit ASCII is used. Otherwise, use signed char or unsigned char.
*Do not assume that a char is signed or unsigned.
*Do not depend on underflow or overflow functioning in any special way.
*Avoid the use of ''using namespace std;'' (or other namespaces) in include files as they can spill into other files with unintended consequences.
*Try to use smart pointers (Handles) to automatically deallocate memory when an object is not needed anymore.
*When a function is pure, i.e. it does not modify any of the class members, define it as pure so it can be used safely in multi threaded code.
*When variables are being shared between threads always use a mutex for access control.
*Use the string class and not C-strings where possible.
1593
1590
2006-11-02T00:50:21Z
Jeroen
19
/* Coding standards */
wikitext
text/x-wiki
==Coding standards==
===Required Standards===
*All code and comments are to be written in English.
*All files must include appropriate license information.
*Use the C++ mode in GNU Emacs and sci-c++-style.el to format code.
*Include files in C++ always have the file name extension .h.
*Implementation files in C++ always have the file name extension .cc.
*Every include file must contain a “guard” that prevents multiple inclusions of the file, for example:
#ifndef CORE_GEOMETRY_BBOX_H
#define CORE_GEOMETRY_BBOX_H 1
// Code...
#endif
*The name of the guard should be of the following form: DIR_DIR_FILENAME_H
*Use forward declarations wherever possible as opposed to including full definitions for classes, functions, and data:
// Class
class PointToMe;
// Function
void my_function(PointToMe &p, PointToMe *ptm);
// Data
PointToMe *m;
*The names of variables and functions will begin with a lowercase letter and include underscore word separators. Names of constants should be in all CAPITALS, with underscore word separation:
static int CONSTANT_INT_FIVE = 5;
void my_function_name();
int my_local_variable_name = 0;
*The names of class member variables are to end with an underscore, “_”:
class SomeObject {
int count_;
};
*The names of abstract data types (eg: Classes), and structs are to begin with an uppercase letter and each new word in the name should also be capitalized.
class MyNewClassName {
// ...
};
*Declare as const a member function that does not change the state of an object.
*Constants are to be defined using const or enum. Never use #define to create constants.
*A class which uses new to allocate instances managed by the class must define a copy constructor and an assignment operator.
*Always use delete[] to deallocate arrays.
*Classes should never assume that the input is perfect and a sensible number of savety checks should be in place to detect faulty inputs.
*Use exception handling to trap errors (although exceptions should only be used for trapping truly exceptional events).
*Our exception model includes two levels of exceptions. The top level of exceptions are defined in Core/Exceptions/Exceptions.h and are thrown when a class specific exception is not appropriate. The bottom level of exceptions are class specific, defined in the class that throws them, and are subclassed off of the top level exceptions. These class specific exceptions are exceptions that can be caught and handled from the calling function (1 level above the class.) However, if the calling function chooses not to (or cannot) handle the class specific exception, the exception will propagate to the next level at which point it can be trapped and handled in the form of a top level exception. An example of a class specific exception would be a StackUnderFlowException for a stack class.
*Comments should support generated documentation format. Comments in declarations should be of the form:
//! …
or
/*! … */
These comments will then be visible in our online documentation. Comments in the definition part of your code need not have the !, as all the code is visible online including comments. Create comments that help the reader navigate your code. Comments should help the reader find the area of code he/she is looking for quickly.
*Do not use identifiers which begin with one ('_') or two ('__') underscores.
*Never use the $Id or $Log cvs directives. This confuses merging between branches.
*Do not use #define to obtain more efficient code— use inline functions instead.
*Avoid the use of numeric values in code; use symbolic values instead. This applies to numeric values that are repeated within the code but represent the same value. Eg: MAX_ARRAY_SIZE = 1024.
*Do not compare a pointer to NULL or assign NULL to a pointer; use 0 instead.
*Avoid explicit type conversions (casts). However when a cast is needed, an explicit cast is prefered over having the compiler decide which kind of cast to do.
*Never convert a constant to a non-constant. Use mutable if necesary. However, be aware of the thread safety problems this causes.
*Never use goto.
*Do not use 'malloc', 'realloc', or 'free'. Use 'new' and 'delete' instead
===Recommended coding standards===
*Never use more than 80 columns per line. This way the code is easier to edit in older editors.
*An include file for a class should have a file name of the form class name.h. Use uppercase and lowercase letters in the same way as in the source code.
*Never include ''/usr/include/*.h'', for example iostream.h in any header file. This causes a huge amount of code to be recursively included and needlessly compiled. Use forward declarations to avoid this.
*Group local includes together, then group system includes together.
*Avoid global data if possible.
*Optimize code only if you know that you have a performance problem. Think twice before you begin.
*Always force your compiler to compile with the maximum warning setting, and before you check in code, fix all warnings.
*Place machine-dependent code in a special file so that it may be easily located when porting code from one machine to another.
*Encapsulate global variables and constants, enumerated types, and typedefs in a class.
*Functions in general should not be more than 30 lines long (excluding documentation and indentation). If you find this situation, break the function into several smaller functions.
*If a function stores a pointer to an object which is accessed via an argument, let the argument have the type pointer. Use reference arguments in other cases.
*When overloading functions, all variations should have the same semantics (be used for the same purpose).
*Do not assume that you know how the invocation mechanism for a function is implemented.
*Do not assume that an object is initialized in any special order in constructors.
*Do not assume that static objects are initialized in any special order.
*Use a typedef to simplify program syntax when declaring function pointers, or templated types.
*When two operators are opposites (such as == and !=), it is appropriate to define both.
*Use constant references ''(const &)'' instead of call-by-value, unless using a pre-defined data type or a pointer.
*Minimize the number of temporary objects that are created as return values from functions or as arguments to functions.
*Do not write code which is dependent on the lifetime of a temporary object.
*Do not assume that the operands in an expression are evaluated in a definite order. Use parenthesis to enforce an order.
*Use parentheses to clarify the order of evaluation for operators in expressions.
*Avoid using shift operations instead of arithmetic operations.
*Use ''std::cout'' instead of ''printf''.
*Do not assume that an int and a long have the same size nor that they are always 32 bits in length.
*Do not assume that pointers and integers have the same size.
*Do not assume that longs, floats, doubles or long doubles may begin at arbitrary addresses.
*Always use plain char if 8-bit ASCII is used. Otherwise, use signed char or unsigned char.
*Do not assume that a char is signed or unsigned.
*Do not depend on underflow or overflow functioning in any special way.
*Avoid the use of ''using namespace std;'' (or other namespaces) in include files as they can spill into other files with unintended consequences.
*Try to use smart pointers (Handles) to automatically deallocate memory when an object is not needed anymore.
*When a function is pure, i.e. it does not modify any of the class members, define it as pure so it can be used safely in multi threaded code.
*When variables are being shared between threads always use a mutex for access control.
*Use the string class and not C-strings where possible.
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
3824
1593
2006-11-02T04:17:15Z
Jeroen
19
/* Required Standards */
wikitext
text/x-wiki
==Coding standards==
===Required Coding Standards===
*All code and comments are to be written in English.
*All files must include appropriate license information.
*Use the C++ mode in GNU Emacs and sci-c++-style.el to format code.
*Include files in C++ always have the file name extension .h.
*Implementation files in C++ always have the file name extension .cc.
*Every include file must contain a “guard” that prevents multiple inclusions of the file, for example:
#ifndef CORE_GEOMETRY_BBOX_H
#define CORE_GEOMETRY_BBOX_H 1
// Code...
#endif
*The name of the guard should be of the following form: DIR_DIR_FILENAME_H
*Use forward declarations wherever possible as opposed to including full definitions for classes, functions, and data:
// Class
class PointToMe;
// Function
void my_function(PointToMe &p, PointToMe *ptm);
// Data
PointToMe *m;
*The names of variables and functions will begin with a lowercase letter and include underscore word separators. Names of constants should be in all CAPITALS, with underscore word separation:
static int CONSTANT_INT_FIVE = 5;
void my_function_name();
int my_local_variable_name = 0;
*The names of class member variables are to end with an underscore, “_”:
class SomeObject {
int count_;
};
*The names of abstract data types (eg: Classes), and structs are to begin with an uppercase letter and each new word in the name should also be capitalized.
class MyNewClassName {
// ...
};
*Declare as const a member function that does not change the state of an object.
*Constants are to be defined using const or enum. Never use #define to create constants.
*A class which uses new to allocate instances managed by the class must define a copy constructor and an assignment operator.
*Always use delete[] to deallocate arrays.
*Classes should never assume that the input is perfect and a sensible number of savety checks should be in place to detect faulty inputs.
*Use exception handling to trap errors (although exceptions should only be used for trapping truly exceptional events).
*Our exception model includes two levels of exceptions. The top level of exceptions are defined in Core/Exceptions/Exceptions.h and are thrown when a class specific exception is not appropriate. The bottom level of exceptions are class specific, defined in the class that throws them, and are subclassed off of the top level exceptions. These class specific exceptions are exceptions that can be caught and handled from the calling function (1 level above the class.) However, if the calling function chooses not to (or cannot) handle the class specific exception, the exception will propagate to the next level at which point it can be trapped and handled in the form of a top level exception. An example of a class specific exception would be a StackUnderFlowException for a stack class.
*Comments should support generated documentation format. Comments in declarations should be of the form:
//! …
or
/*! … */
These comments will then be visible in our online documentation. Comments in the definition part of your code need not have the !, as all the code is visible online including comments. Create comments that help the reader navigate your code. Comments should help the reader find the area of code he/she is looking for quickly.
*Do not use identifiers which begin with one ('_') or two ('__') underscores.
*Never use the $Id or $Log cvs directives. This confuses merging between branches.
*Do not use #define to obtain more efficient code— use inline functions instead.
*Avoid the use of numeric values in code; use symbolic values instead. This applies to numeric values that are repeated within the code but represent the same value. Eg: MAX_ARRAY_SIZE = 1024.
*Do not compare a pointer to NULL or assign NULL to a pointer; use 0 instead.
*Avoid explicit type conversions (casts). However when a cast is needed, an explicit cast is prefered over having the compiler decide which kind of cast to do.
*Never convert a constant to a non-constant. Use mutable if necesary. However, be aware of the thread safety problems this causes.
*Never use goto.
*Do not use 'malloc', 'realloc', or 'free'. Use 'new' and 'delete' instead
===Recommended coding standards===
*Never use more than 80 columns per line. This way the code is easier to edit in older editors.
*An include file for a class should have a file name of the form class name.h. Use uppercase and lowercase letters in the same way as in the source code.
*Never include ''/usr/include/*.h'', for example iostream.h in any header file. This causes a huge amount of code to be recursively included and needlessly compiled. Use forward declarations to avoid this.
*Group local includes together, then group system includes together.
*Avoid global data if possible.
*Optimize code only if you know that you have a performance problem. Think twice before you begin.
*Always force your compiler to compile with the maximum warning setting, and before you check in code, fix all warnings.
*Place machine-dependent code in a special file so that it may be easily located when porting code from one machine to another.
*Encapsulate global variables and constants, enumerated types, and typedefs in a class.
*Functions in general should not be more than 30 lines long (excluding documentation and indentation). If you find this situation, break the function into several smaller functions.
*If a function stores a pointer to an object which is accessed via an argument, let the argument have the type pointer. Use reference arguments in other cases.
*When overloading functions, all variations should have the same semantics (be used for the same purpose).
*Do not assume that you know how the invocation mechanism for a function is implemented.
*Do not assume that an object is initialized in any special order in constructors.
*Do not assume that static objects are initialized in any special order.
*Use a typedef to simplify program syntax when declaring function pointers, or templated types.
*When two operators are opposites (such as == and !=), it is appropriate to define both.
*Use constant references ''(const &)'' instead of call-by-value, unless using a pre-defined data type or a pointer.
*Minimize the number of temporary objects that are created as return values from functions or as arguments to functions.
*Do not write code which is dependent on the lifetime of a temporary object.
*Do not assume that the operands in an expression are evaluated in a definite order. Use parenthesis to enforce an order.
*Use parentheses to clarify the order of evaluation for operators in expressions.
*Avoid using shift operations instead of arithmetic operations.
*Use ''std::cout'' instead of ''printf''.
*Do not assume that an int and a long have the same size nor that they are always 32 bits in length.
*Do not assume that pointers and integers have the same size.
*Do not assume that longs, floats, doubles or long doubles may begin at arbitrary addresses.
*Always use plain char if 8-bit ASCII is used. Otherwise, use signed char or unsigned char.
*Do not assume that a char is signed or unsigned.
*Do not depend on underflow or overflow functioning in any special way.
*Avoid the use of ''using namespace std;'' (or other namespaces) in include files as they can spill into other files with unintended consequences.
*Try to use smart pointers (Handles) to automatically deallocate memory when an object is not needed anymore.
*When a function is pure, i.e. it does not modify any of the class members, define it as pure so it can be used safely in multi threaded code.
*When variables are being shared between threads always use a mutex for access control.
*Use the string class and not C-strings where possible.
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Documentation:SCIRun:DevManual:DynamicCompilation
0
1683
1592
2006-11-02T01:01:17Z
Jeroen
19
wikitext
text/x-wiki
==Dynamic Compilation==
===Overview===
The current version of SCIRun supports a feature which we call dynamic compilation. Dynamic Compilation refers to the ability of compiling pieces of code while SCIRun is executing. This feature requires a compiler being available at run time. The reason for dynamically compiling code is the ability to optimize code for a particular model while SCIRun is being used to solve a particular problem.
SCIRun makes extensive use of C++ templates. Templates are a powerful mechanism that allows writing algorithms or data structures once, while allowing them to be usable with many types of data. However, in order to use any particular type of data, the templates need to know about them at compile time. Dynamic compilation allows templates written in the past to be applied to new data types at run time by dynamically compiling code. Making this into a powerful feature.
1595
1592
2006-11-02T01:28:22Z
Jeroen
19
/* Overview */
wikitext
text/x-wiki
==Dynamic Compilation==
===Overview===
The current version of SCIRun supports a feature which we call dynamic compilation. Dynamic Compilation refers to the ability of compiling pieces of code while SCIRun is executing. This feature requires a compiler being available at run time. The reason for dynamically compiling code is the ability to optimize code for a particular model while SCIRun is being used to solve a particular problem.
SCIRun makes extensive use of C++ templates. Templates are a powerful mechanism that allows writing algorithms or data structures once, while allowing them to be usable with many types of data. However, in order to use any particular type of data, the templates need to know about them at compile time. Dynamic compilation allows templates written in the past to be applied to new data types at run time by dynamically compiling code. Making this into a powerful feature.
===Creating a dynamically compiled algorithm===
The most common use for dynamic compilation is to create an algorithm that operates on the Field class. As the GenericField class is templated using three classes, an algorithm that operates on this class can consist out of a wide range of possible algorithms. Using dynamic compilation SCIRun compiles the proper algorithm when it knows by means of the user defined fields which algorithms to operate on.
In this chapter creating a dynamic compiled algorithm is demonstrated by means of the ConvertToPointCloud algorithm. This algorithm takes a handle to field and extracts all the node locations from the mesh and returns a field that does not contain any elements anymore but only the actual node points that were part of the input field.
The idea of a dynamically compiling class is the following:
A general pointer to the Field is given to the algorithm, this is a pointer to the base class of the Field which is the same for all possible Field types. To discover what type it is a virtual function call into the Field is made revealing its true identity. This type information is used to compile a templated algorithm that uses the specific field type as a template argument. When the algorithm is compiled it will execute the algorithm.
To create a dynamically compiling algorithm we start by defining to classes: a base class and a templated class derived from that.
In this example the base class is called ConvertToPointCloudAlgo:
This class contains the general access point for the dynamic compiled algorithm. It takes handles (pointers) to the Field base class. It will examine all the input arguments and determine which type the input Fields actually are. When this is known it will tell the dynamic compiler which algorithm needs to be compiled to carry out the operation with high efficiency.
The second class is a template class called ToPointCloudAlgoT:
This class is derived from the base class and has a similar call to the algorithm. This templated class contains the actual algorithm. When the dynamic compiler is invoked it will take in a handle to the base algorithm, internally it will overload this with the handle to an instatiation of the templated algorithm. Since the templated class will overload the access function of the base class with the one defined in the templated version using virtual function, one can now invoke the compiled algorithm by calling the access on the base class.
The base class now defined as following:
class ToPointCloudAlgo : public DynamicAlgoBase
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is the general access point to the dynamic algorithms in the class. The function ToPointCloud() is the access function to the dynamically compiled algorithm. It is a good practive to define the access functions to the dynamically compiled algorithms as following:
virtual bool MyFunction(ProgressReporter* pr, FieldHandle input1,
FieldHandle input2, ... FieldHandle& output)
Here the algorithm returns false if it fails and true if it succeeds. In order to forward the error message all dynamic algorithms should take in a pointer to the current ProgressReporter. The ProgressReporter reports everything from the progress the algorithm made, to errors, remarks, warnings and is the general access point to forward messages to the user.
Hence this algorithm can be used in a module as following
ToPointCloudAlgo algo;
if(!(algo->ToPointCloud(this,input,output)))
{
// algorothm failed
}
Note that the module class has been derived from the ProgressReporter and hence the pointer to the module can be used to initialise the ProgressReporter
1596
1595
2006-11-02T04:26:47Z
Jeroen
19
/* Dynamic Compilation */
wikitext
text/x-wiki
==Dynamic Compilation==
===Overview===
The current version of SCIRun supports a feature which we call dynamic compilation. Dynamic Compilation refers to the ability of compiling pieces of code while SCIRun is executing. This feature requires a compiler being available at run time. The reason for dynamically compiling code is the ability to optimize code for a particular model while SCIRun is being used to solve a particular problem.
SCIRun makes extensive use of C++ templates. Templates are a powerful mechanism that allows writing algorithms or data structures once, while allowing them to be usable with many types of data. However, in order to use any particular type of data, the templates need to know about them at compile time. Dynamic compilation allows templates written in the past to be applied to new data types at run time by dynamically compiling code. Making this into a powerful feature.
===Creating a dynamically compiled algorithm===
The most common use for dynamic compilation is to create an algorithm that operates on the Field class. As the GenericField class is templated using three classes, an algorithm that operates on this class can consist out of a wide range of possible algorithms. Using dynamic compilation SCIRun compiles the proper algorithm when it knows by means of the user defined fields which algorithms to operate on.
In this chapter creating a dynamic compiled algorithm is demonstrated by means of the ConvertToPointCloud algorithm. This algorithm takes a handle to field and extracts all the node locations from the mesh and returns a field that does not contain any elements anymore but only the actual node points that were part of the input field.
The idea of a dynamically compiling class is the following:
A general pointer to the Field is given to the algorithm, this is a pointer to the base class of the Field which is the same for all possible Field types. To discover what type it is a virtual function call into the Field is made revealing its true identity. This type information is used to compile a templated algorithm that uses the specific field type as a template argument. When the algorithm is compiled it will execute the algorithm.
To create a dynamically compiling algorithm we start by defining to classes: a base class and a templated class derived from that.
In this example the base class is called ConvertToPointCloudAlgo:
This class contains the general access point for the dynamic compiled algorithm. It takes handles (pointers) to the Field base class. It will examine all the input arguments and determine which type the input Fields actually are. When this is known it will tell the dynamic compiler which algorithm needs to be compiled to carry out the operation with high efficiency.
The second class is a template class called ToPointCloudAlgoT:
This class is derived from the base class and has a similar call to the algorithm. This templated class contains the actual algorithm. When the dynamic compiler is invoked it will take in a handle to the base algorithm, internally it will overload this with the handle to an instatiation of the templated algorithm. Since the templated class will overload the access function of the base class with the one defined in the templated version using virtual function, one can now invoke the compiled algorithm by calling the access on the base class.
The base class now defined as following:
class ToPointCloudAlgo : public DynamicAlgoBase
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is the general access point to the dynamic algorithms in the class. The function ToPointCloud() is the access function to the dynamically compiled algorithm. It is a good practive to define the access functions to the dynamically compiled algorithms as following:
virtual bool MyFunction(ProgressReporter* pr, FieldHandle input1,
FieldHandle input2, ... FieldHandle& output)
Here the algorithm returns false if it fails and true if it succeeds. In order to forward the error message all dynamic algorithms should take in a pointer to the current ProgressReporter. The ProgressReporter reports everything from the progress the algorithm made, to errors, remarks, warnings and is the general access point to forward messages to the user.
Hence this algorithm can be used in a module as following:
ToPointCloudAlgo algo;
if(!(algo->ToPointCloud(this,input,output)))
{
// algorothm failed
}
Note that the module class has been derived from the ProgressReporter and hence the pointer to the module can be used to initialise the ProgressReporter.
The second class called ToPointCloudAlgoT is the actual implementation of the algorithm. Note that the name of the algorithm ends with a 'T' to denote that the algorithm is templated (this is not strictly needed but improves readability if the code). The second class will look like this:
template <class FSRC, class FDST>
class ToPointCloudAlgoT : public ToPointCloudAlgo
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is templated according to the input and output field (FSRC, FDST). This means that the specific field class can be accessed by dynamic casting the input and output to the respective types.
=== The Templated class ===
=== The Base class ===
1597
1596
2006-11-02T04:56:36Z
Jeroen
19
/* The Templated class */
wikitext
text/x-wiki
==Dynamic Compilation==
===Overview===
The current version of SCIRun supports a feature which we call dynamic compilation. Dynamic Compilation refers to the ability of compiling pieces of code while SCIRun is executing. This feature requires a compiler being available at run time. The reason for dynamically compiling code is the ability to optimize code for a particular model while SCIRun is being used to solve a particular problem.
SCIRun makes extensive use of C++ templates. Templates are a powerful mechanism that allows writing algorithms or data structures once, while allowing them to be usable with many types of data. However, in order to use any particular type of data, the templates need to know about them at compile time. Dynamic compilation allows templates written in the past to be applied to new data types at run time by dynamically compiling code. Making this into a powerful feature.
===Creating a dynamically compiled algorithm===
The most common use for dynamic compilation is to create an algorithm that operates on the Field class. As the GenericField class is templated using three classes, an algorithm that operates on this class can consist out of a wide range of possible algorithms. Using dynamic compilation SCIRun compiles the proper algorithm when it knows by means of the user defined fields which algorithms to operate on.
In this chapter creating a dynamic compiled algorithm is demonstrated by means of the ConvertToPointCloud algorithm. This algorithm takes a handle to field and extracts all the node locations from the mesh and returns a field that does not contain any elements anymore but only the actual node points that were part of the input field.
The idea of a dynamically compiling class is the following:
A general pointer to the Field is given to the algorithm, this is a pointer to the base class of the Field which is the same for all possible Field types. To discover what type it is a virtual function call into the Field is made revealing its true identity. This type information is used to compile a templated algorithm that uses the specific field type as a template argument. When the algorithm is compiled it will execute the algorithm.
To create a dynamically compiling algorithm we start by defining to classes: a base class and a templated class derived from that.
In this example the base class is called ConvertToPointCloudAlgo:
This class contains the general access point for the dynamic compiled algorithm. It takes handles (pointers) to the Field base class. It will examine all the input arguments and determine which type the input Fields actually are. When this is known it will tell the dynamic compiler which algorithm needs to be compiled to carry out the operation with high efficiency.
The second class is a template class called ToPointCloudAlgoT:
This class is derived from the base class and has a similar call to the algorithm. This templated class contains the actual algorithm. When the dynamic compiler is invoked it will take in a handle to the base algorithm, internally it will overload this with the handle to an instatiation of the templated algorithm. Since the templated class will overload the access function of the base class with the one defined in the templated version using virtual function, one can now invoke the compiled algorithm by calling the access on the base class.
The base class now defined as following:
class ToPointCloudAlgo : public DynamicAlgoBase
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is the general access point to the dynamic algorithms in the class. The function ToPointCloud() is the access function to the dynamically compiled algorithm. It is a good practive to define the access functions to the dynamically compiled algorithms as following:
virtual bool MyFunction(ProgressReporter* pr, FieldHandle input1,
FieldHandle input2, ... FieldHandle& output)
Here the algorithm returns false if it fails and true if it succeeds. In order to forward the error message all dynamic algorithms should take in a pointer to the current ProgressReporter. The ProgressReporter reports everything from the progress the algorithm made, to errors, remarks, warnings and is the general access point to forward messages to the user.
Hence this algorithm can be used in a module as following:
ToPointCloudAlgo algo;
if(!(algo->ToPointCloud(this,input,output)))
{
// algorothm failed
}
Note that the module class has been derived from the ProgressReporter and hence the pointer to the module can be used to initialise the ProgressReporter.
The second class called ToPointCloudAlgoT is the actual implementation of the algorithm. Note that the name of the algorithm ends with a 'T' to denote that the algorithm is templated (this is not strictly needed but improves readability if the code). The second class will look like this:
template <class FSRC, class FDST>
class ToPointCloudAlgoT : public ToPointCloudAlgo
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is templated according to the input and output field (FSRC, FDST). This means that the specific field class can be accessed by dynamic casting the input and output to the respective types.
=== The Templated class ===
Since the algorithm is templated, we need to define its implemenation in the header file.
template <class FSRC, class FDST>
bool ToPointCloudAlgoT<FSRC, FDST>::ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output)
{
The first thing the algorithm should do is to cast the pointer contained in the input handle into a pointer of the proper type. Remember this part of the code is dynamically compiled and hence the class FSRC is of the type of the class behind pointer in input, where input only points to the base class. To access the derived class we need to dynamically cast this pointer into its actual type:
FSRC *ifield = dynamic_cast<FSRC *>(input.get_rep());
In this example the function ''get_rep()'' gets the pointer contained in the handle.
After getting the pointer it is a good habit to insert a safety check, to test whether we actually have a pointer. Although we should get the pointer, if something went wrong in the dynamic casting we get a zero pointer . As we do not want to use a null pointer, we should add a little safety check;
if (ifield == 0)
{ // The object is of a different type
// Error reporting:
// we forward the specific message to the ProgressReporter and return a
// false to indicate that an error has occured.
// The ProgressReporter returns the error message to the module window
pr->error("ToPointCloud: Could not obtain input field");
return (false);
}
So far we got the pointer to the field. It is really useful to obtain the pointer to the mesh as well. To get a pointer to the specific mesh we use the function ''get_typed_mesh()''. In order to get the proper pointer definition we look into the field class where the type mesh_handle_type is defined. As the type consists of a templatename and the actual type defined inside the templated class we use ''typename'' to indicate to the compiler that FSRC::mesh_handle_type still needs to be parsed by specifying the actual template class.
typename FSRC::mesh_handle_type imesh = ifield->get_typed_mesh();
if (imesh == 0)
{
pr->error("ToPointCloud: No mesh associated with input field");
return (false);
}
Now we have the pointers to the input mesh, we need to create an output mesh which is of the type of a PointCloud. A mesh is created as following:
typename FDST::mesh_handle_type omesh = scinew typename FDST::mesh_type();
if (omesh == 0)
{
pr->error("ToPointCloud: Could not create output field");
return (false);
}
Note we use the following memory management strategy here: We store the pointer to the new mesh immediately into a mesh handle. Handles are smart pointers that automatically deallocate memory when the handle object is deallocated (unless the handle has been copied). Using handles to refer to new objects will make sure that, if we encounter an error in the code and we exit with a return (false), all memory will be freed automatically as the handle will be desrtoyed. The handle was not copied in that case and thus the object it is pointing to will be automatically destroyed.
// Actual algorithm starts here:
// Synchronize makes sure that all function calls to retrieve the elements and
// nodes are working. Some mesh types need this.
imesh->synchronize(Mesh::NODES_E);
if (imesh->dimensionality() == 1) imesh->synchronize(Mesh::EDGES_E);
if (imesh->dimensionality() == 2) imesh->synchronize(Mesh::FACES_E);
if (imesh->dimensionality() == 3) imesh->synchronize(Mesh::CELLS_E);
// Define iterators over the nodes
typename FSRC::mesh_type::Node::iterator bn, en;
typename FSRC::mesh_type::Node::size_type numnodes;
imesh->begin(bn); // get begin iterator
imesh->end(en); // get end iterator
imesh->size(numnodes); // get the number of nodes in the mesh
// It is always good to preallocate memory if the number of nodes in the output
// mesh is known
omesh->node_reserve(numnodes);
// Iterate over all nodes and copy each node
while (bn != en)
{
Point point;
imesh->get_center(point, *bn);
omesh->add_point(point);
++bn;
}
// We have the new msh now make a new field
FDST *ofield = scinew FDST(omesh);
output = dynamic_cast<FDST*>(ofield);
if (ofield == 0)
{
pr->error("ToPointCloud: Could not create output field");
return (false);
}
// Make sure Fdata matches the size of the number of nodes
ofield->resize_fdata();
// Is this a linear input field, if so we can copy data from node to node
if (ifield->basis_order() == 1)
{
typename FSRC::fdata_type::iterator bid = ifield->fdata().begin();
typename FSRC::fdata_type::iterator eid = ifield->fdata().end();
typename FDST::fdata_type::iterator bod = ofield->fdata().begin();
while (bid != eid)
{
*bod = *bid;
++bod; ++bid;
}
}
// In the other cases we cannot preserve data and the output field should
// already be of the class NoDataBasis.
// Make sure we copy all the properties.
// Some old modules make still use of the property manager and hence to have
// them work properly the properties from the input field will be assigned to
// the output field.
// As there is no centeral list of properties used, some of the properties
// may not be valid anymore in the output field. Hence one is advised not to
// use the property manager as their validity in the FieldObject cannot be
// garanteed.
output->copy_properties(input.get_rep());
// Success:
return (true);
}
=== The Base class ===
1598
1597
2006-11-02T05:05:53Z
Jeroen
19
/* The Templated class */
wikitext
text/x-wiki
==Dynamic Compilation==
===Overview===
The current version of SCIRun supports a feature which we call dynamic compilation. Dynamic Compilation refers to the ability of compiling pieces of code while SCIRun is executing. This feature requires a compiler being available at run time. The reason for dynamically compiling code is the ability to optimize code for a particular model while SCIRun is being used to solve a particular problem.
SCIRun makes extensive use of C++ templates. Templates are a powerful mechanism that allows writing algorithms or data structures once, while allowing them to be usable with many types of data. However, in order to use any particular type of data, the templates need to know about them at compile time. Dynamic compilation allows templates written in the past to be applied to new data types at run time by dynamically compiling code. Making this into a powerful feature.
===Creating a dynamically compiled algorithm===
The most common use for dynamic compilation is to create an algorithm that operates on the Field class. As the GenericField class is templated using three classes, an algorithm that operates on this class can consist out of a wide range of possible algorithms. Using dynamic compilation SCIRun compiles the proper algorithm when it knows by means of the user defined fields which algorithms to operate on.
In this chapter creating a dynamic compiled algorithm is demonstrated by means of the ConvertToPointCloud algorithm. This algorithm takes a handle to field and extracts all the node locations from the mesh and returns a field that does not contain any elements anymore but only the actual node points that were part of the input field.
The idea of a dynamically compiling class is the following:
A general pointer to the Field is given to the algorithm, this is a pointer to the base class of the Field which is the same for all possible Field types. To discover what type it is a virtual function call into the Field is made revealing its true identity. This type information is used to compile a templated algorithm that uses the specific field type as a template argument. When the algorithm is compiled it will execute the algorithm.
To create a dynamically compiling algorithm we start by defining to classes: a base class and a templated class derived from that.
In this example the base class is called ConvertToPointCloudAlgo:
This class contains the general access point for the dynamic compiled algorithm. It takes handles (pointers) to the Field base class. It will examine all the input arguments and determine which type the input Fields actually are. When this is known it will tell the dynamic compiler which algorithm needs to be compiled to carry out the operation with high efficiency.
The second class is a template class called ToPointCloudAlgoT:
This class is derived from the base class and has a similar call to the algorithm. This templated class contains the actual algorithm. When the dynamic compiler is invoked it will take in a handle to the base algorithm, internally it will overload this with the handle to an instatiation of the templated algorithm. Since the templated class will overload the access function of the base class with the one defined in the templated version using virtual function, one can now invoke the compiled algorithm by calling the access on the base class.
The base class now defined as following:
class ToPointCloudAlgo : public DynamicAlgoBase
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is the general access point to the dynamic algorithms in the class. The function ToPointCloud() is the access function to the dynamically compiled algorithm. It is a good practive to define the access functions to the dynamically compiled algorithms as following:
virtual bool MyFunction(ProgressReporter* pr, FieldHandle input1,
FieldHandle input2, ... FieldHandle& output)
Here the algorithm returns false if it fails and true if it succeeds. In order to forward the error message all dynamic algorithms should take in a pointer to the current ProgressReporter. The ProgressReporter reports everything from the progress the algorithm made, to errors, remarks, warnings and is the general access point to forward messages to the user.
Hence this algorithm can be used in a module as following:
ToPointCloudAlgo algo;
if(!(algo->ToPointCloud(this,input,output)))
{
// algorothm failed
}
Note that the module class has been derived from the ProgressReporter and hence the pointer to the module can be used to initialise the ProgressReporter.
The second class called ToPointCloudAlgoT is the actual implementation of the algorithm. Note that the name of the algorithm ends with a 'T' to denote that the algorithm is templated (this is not strictly needed but improves readability if the code). The second class will look like this:
template <class FSRC, class FDST>
class ToPointCloudAlgoT : public ToPointCloudAlgo
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is templated according to the input and output field (FSRC, FDST). This means that the specific field class can be accessed by dynamic casting the input and output to the respective types.
=== The Templated class ===
Since the algorithm is templated, we need to define its implemenation in the header file.
template <class FSRC, class FDST>
bool ToPointCloudAlgoT<FSRC, FDST>::ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output)
{
The first thing the algorithm should do is to cast the pointer contained in the input handle into a pointer of the proper type. Remember this part of the code is dynamically compiled and hence the class FSRC is of the type of the class behind pointer in input, where input only points to the base class. To access the derived class we need to dynamically cast this pointer into its actual type:
FSRC *ifield = dynamic_cast<FSRC *>(input.get_rep());
In this example the function ''get_rep()'' gets the pointer contained in the handle.
After getting the pointer it is a good habit to insert a safety check, to test whether we actually have a pointer. Although we should get the pointer, if something went wrong in the dynamic casting we get a zero pointer . As we do not want to use a null pointer, we should add a little safety check;
if (ifield == 0)
{ // The object is of a different type
// Error reporting:
// we forward the specific message to the ProgressReporter and return a
// false to indicate that an error has occured.
// The ProgressReporter returns the error message to the module window
pr->error("ToPointCloud: Could not obtain input field");
return (false);
}
So far we got the pointer to the field. It is really useful to obtain the pointer to the mesh as well. To get a pointer to the specific mesh we use the function ''get_typed_mesh()''. In order to get the proper pointer definition we look into the field class where the type mesh_handle_type is defined. As the type consists of a templatename and the actual type defined inside the templated class we use ''typename'' to indicate to the compiler that FSRC::mesh_handle_type still needs to be parsed by specifying the actual template class.
typename FSRC::mesh_handle_type imesh = ifield->get_typed_mesh();
if (imesh == 0)
{
pr->error("ToPointCloud: No mesh associated with input field");
return (false);
}
Now we have the pointers to the input mesh, we need to create an output mesh which is of the type of a PointCloud. A mesh is created as following:
typename FDST::mesh_handle_type omesh = scinew typename FDST::mesh_type();
if (omesh == 0)
{
pr->error("ToPointCloud: Could not create output field");
return (false);
}
Note we use the following memory management strategy here: We store the pointer to the new mesh immediately into a mesh handle. Handles are smart pointers that automatically deallocate memory when the handle object is deallocated (unless the handle has been copied). Using handles to refer to new objects will make sure that, if we encounter an error in the code and we exit with a return (false), all memory will be freed automatically as the handle will be desrtoyed. The handle was not copied in that case and thus the object it is pointing to will be automatically destroyed.
Now we need to implement the actual algorithm:
We need to define iterators over the mesh, in this case they depend on the type of the mesh and have to be defined through the templated classes:
typename FSRC::mesh_type::Node::iterator bn, en;
typename FSRC::mesh_type::Node::size_type numnodes;
imesh->begin(bn); // get begin iterator
imesh->end(en); // get end iterator
imesh->size(numnodes); // get the number of nodes in the mesh
It is always good to preallocate memory if the number of nodes in the output mesh is known.
omesh->node_reserve(numnodes);
In the next loop the algorithm loops over all the nodes in the input mesh. It extracts the exact location of the point and then inserts the node into the output mesh.
while (bn != en)
{
Point point;
imesh->get_center(point, *bn);
omesh->add_point(point);
++bn;
}
// We have the new msh now make a new field
FDST *ofield = scinew FDST(omesh);
output = dynamic_cast<FDST*>(ofield);
if (ofield == 0)
{
pr->error("ToPointCloud: Could not create output field");
return (false);
}
// Make sure Fdata matches the size of the number of nodes
ofield->resize_fdata();
// Is this a linear input field, if so we can copy data from node to node
if (ifield->basis_order() == 1)
{
typename FSRC::fdata_type::iterator bid = ifield->fdata().begin();
typename FSRC::fdata_type::iterator eid = ifield->fdata().end();
typename FDST::fdata_type::iterator bod = ofield->fdata().begin();
while (bid != eid)
{
*bod = *bid;
++bod; ++bid;
}
}
// In the other cases we cannot preserve data and the output field should
// already be of the class NoDataBasis.
// Make sure we copy all the properties.
// Some old modules make still use of the property manager and hence to have
// them work properly the properties from the input field will be assigned to
// the output field.
// As there is no centeral list of properties used, some of the properties
// may not be valid anymore in the output field. Hence one is advised not to
// use the property manager as their validity in the FieldObject cannot be
// garanteed.
output->copy_properties(input.get_rep());
// Success:
return (true);
}
=== The Base class ===
1599
1598
2006-11-02T05:18:55Z
Jeroen
19
/* The Templated class */
wikitext
text/x-wiki
==Dynamic Compilation==
===Overview===
The current version of SCIRun supports a feature which we call dynamic compilation. Dynamic Compilation refers to the ability of compiling pieces of code while SCIRun is executing. This feature requires a compiler being available at run time. The reason for dynamically compiling code is the ability to optimize code for a particular model while SCIRun is being used to solve a particular problem.
SCIRun makes extensive use of C++ templates. Templates are a powerful mechanism that allows writing algorithms or data structures once, while allowing them to be usable with many types of data. However, in order to use any particular type of data, the templates need to know about them at compile time. Dynamic compilation allows templates written in the past to be applied to new data types at run time by dynamically compiling code. Making this into a powerful feature.
===Creating a dynamically compiled algorithm===
The most common use for dynamic compilation is to create an algorithm that operates on the Field class. As the GenericField class is templated using three classes, an algorithm that operates on this class can consist out of a wide range of possible algorithms. Using dynamic compilation SCIRun compiles the proper algorithm when it knows by means of the user defined fields which algorithms to operate on.
In this chapter creating a dynamic compiled algorithm is demonstrated by means of the ConvertToPointCloud algorithm. This algorithm takes a handle to field and extracts all the node locations from the mesh and returns a field that does not contain any elements anymore but only the actual node points that were part of the input field.
The idea of a dynamically compiling class is the following:
A general pointer to the Field is given to the algorithm, this is a pointer to the base class of the Field which is the same for all possible Field types. To discover what type it is a virtual function call into the Field is made revealing its true identity. This type information is used to compile a templated algorithm that uses the specific field type as a template argument. When the algorithm is compiled it will execute the algorithm.
To create a dynamically compiling algorithm we start by defining to classes: a base class and a templated class derived from that.
In this example the base class is called ConvertToPointCloudAlgo:
This class contains the general access point for the dynamic compiled algorithm. It takes handles (pointers) to the Field base class. It will examine all the input arguments and determine which type the input Fields actually are. When this is known it will tell the dynamic compiler which algorithm needs to be compiled to carry out the operation with high efficiency.
The second class is a template class called ToPointCloudAlgoT:
This class is derived from the base class and has a similar call to the algorithm. This templated class contains the actual algorithm. When the dynamic compiler is invoked it will take in a handle to the base algorithm, internally it will overload this with the handle to an instatiation of the templated algorithm. Since the templated class will overload the access function of the base class with the one defined in the templated version using virtual function, one can now invoke the compiled algorithm by calling the access on the base class.
The base class now defined as following:
class ToPointCloudAlgo : public DynamicAlgoBase
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is the general access point to the dynamic algorithms in the class. The function ToPointCloud() is the access function to the dynamically compiled algorithm. It is a good practive to define the access functions to the dynamically compiled algorithms as following:
virtual bool MyFunction(ProgressReporter* pr, FieldHandle input1,
FieldHandle input2, ... FieldHandle& output)
Here the algorithm returns false if it fails and true if it succeeds. In order to forward the error message all dynamic algorithms should take in a pointer to the current ProgressReporter. The ProgressReporter reports everything from the progress the algorithm made, to errors, remarks, warnings and is the general access point to forward messages to the user.
Hence this algorithm can be used in a module as following:
ToPointCloudAlgo algo;
if(!(algo->ToPointCloud(this,input,output)))
{
// algorothm failed
}
Note that the module class has been derived from the ProgressReporter and hence the pointer to the module can be used to initialise the ProgressReporter.
The second class called ToPointCloudAlgoT is the actual implementation of the algorithm. Note that the name of the algorithm ends with a 'T' to denote that the algorithm is templated (this is not strictly needed but improves readability if the code). The second class will look like this:
template <class FSRC, class FDST>
class ToPointCloudAlgoT : public ToPointCloudAlgo
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is templated according to the input and output field (FSRC, FDST). This means that the specific field class can be accessed by dynamic casting the input and output to the respective types.
=== The Templated class ===
Since the algorithm is templated, we need to define its implemenation in the header file.
template <class FSRC, class FDST>
bool ToPointCloudAlgoT<FSRC, FDST>::ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output)
{
The first thing the algorithm should do is to cast the pointer contained in the input handle into a pointer of the proper type. Remember this part of the code is dynamically compiled and hence the class FSRC is of the type of the class behind pointer in input, where input only points to the base class. To access the derived class we need to dynamically cast this pointer into its actual type:
FSRC *ifield = dynamic_cast<FSRC *>(input.get_rep());
In this example the function ''get_rep()'' gets the pointer contained in the handle.
After getting the pointer it is a good habit to insert a safety check, to test whether we actually have a pointer. Although we should get the pointer, if something went wrong in the dynamic casting we get a zero pointer . As we do not want to use a null pointer, we should add a little safety check;
if (ifield == 0)
{ // The object is of a different type
// Error reporting:
// we forward the specific message to the ProgressReporter and return a
// false to indicate that an error has occured.
// The ProgressReporter returns the error message to the module window
pr->error("ToPointCloud: Could not obtain input field");
return (false);
}
So far we got the pointer to the field. It is really useful to obtain the pointer to the mesh as well. To get a pointer to the specific mesh we use the function ''get_typed_mesh()''. In order to get the proper pointer definition we look into the field class where the type mesh_handle_type is defined. As the type consists of a templatename and the actual type defined inside the templated class we use ''typename'' to indicate to the compiler that FSRC::mesh_handle_type still needs to be parsed by specifying the actual template class.
typename FSRC::mesh_handle_type imesh = ifield->get_typed_mesh();
if (imesh == 0)
{
pr->error("ToPointCloud: No mesh associated with input field");
return (false);
}
Now we have the pointers to the input mesh, we need to create an output mesh which is of the type of a PointCloud. A mesh is created as following:
typename FDST::mesh_handle_type omesh = scinew typename FDST::mesh_type();
if (omesh == 0)
{
pr->error("ToPointCloud: Could not create output field");
return (false);
}
Note we use the following memory management strategy here: We store the pointer to the new mesh immediately into a mesh handle. Handles are smart pointers that automatically deallocate memory when the handle object is deallocated (unless the handle has been copied). Using handles to refer to new objects will make sure that, if we encounter an error in the code and we exit with a return (false), all memory will be freed automatically as the handle will be desrtoyed. The handle was not copied in that case and thus the object it is pointing to will be automatically destroyed.
Now we need to implement the actual algorithm:
We need to define iterators over the mesh, in this case they depend on the type of the mesh and have to be defined through the templated classes:
typename FSRC::mesh_type::Node::iterator bn, en;
typename FSRC::mesh_type::Node::size_type numnodes;
imesh->begin(bn); // get begin iterator
imesh->end(en); // get end iterator
imesh->size(numnodes); // get the number of nodes in the mesh
It is always good to preallocate memory if the number of nodes in the output mesh is known.
omesh->node_reserve(numnodes);
In the next loop the algorithm loops over all the nodes in the input mesh. It extracts the exact location of the point and then inserts the node into the output mesh.
while (bn != en)
{
Point point;
imesh->get_center(point, *bn);
omesh->add_point(point);
++bn;
}
Now the new mesh has been created, the output field can be created. This output field can then be attached to the output FieldHandle.
FDST *ofield = scinew FDST(omesh);
output = ofield;
if (ofield == 0)
{
pr->error("ToPointCloud: Could not create output field");
return (false);
}
The algorithm is completed by copying data from the nodes in the input field into the nodes of the output field. This copying is only done when the data is located at the nodes to begin with. In order to check whether the data is located at the nodes the ''basis_order()'' of the mesh is checked.
// Make sure Fdata matches the size of the number of nodes
ofield->resize_fdata();
// Is this a linear input field, if so we can copy data from node to node
if (ifield->basis_order() == 1)
{
typename FSRC::fdata_type::iterator bid = ifield->fdata().begin();
typename FSRC::fdata_type::iterator eid = ifield->fdata().end();
typename FDST::fdata_type::iterator bod = ofield->fdata().begin();
while (bid != eid)
{
*bod = *bid;
++bod; ++bid;
}
}
The algorithm is finished by copying the properties from the input field to the output field.
output->copy_properties(input.get_rep());
// Success:
return (true);
}
=== The Base class ===
1600
1599
2006-11-02T05:20:54Z
Jeroen
19
/* The Base class */
wikitext
text/x-wiki
==Dynamic Compilation==
===Overview===
The current version of SCIRun supports a feature which we call dynamic compilation. Dynamic Compilation refers to the ability of compiling pieces of code while SCIRun is executing. This feature requires a compiler being available at run time. The reason for dynamically compiling code is the ability to optimize code for a particular model while SCIRun is being used to solve a particular problem.
SCIRun makes extensive use of C++ templates. Templates are a powerful mechanism that allows writing algorithms or data structures once, while allowing them to be usable with many types of data. However, in order to use any particular type of data, the templates need to know about them at compile time. Dynamic compilation allows templates written in the past to be applied to new data types at run time by dynamically compiling code. Making this into a powerful feature.
===Creating a dynamically compiled algorithm===
The most common use for dynamic compilation is to create an algorithm that operates on the Field class. As the GenericField class is templated using three classes, an algorithm that operates on this class can consist out of a wide range of possible algorithms. Using dynamic compilation SCIRun compiles the proper algorithm when it knows by means of the user defined fields which algorithms to operate on.
In this chapter creating a dynamic compiled algorithm is demonstrated by means of the ConvertToPointCloud algorithm. This algorithm takes a handle to field and extracts all the node locations from the mesh and returns a field that does not contain any elements anymore but only the actual node points that were part of the input field.
The idea of a dynamically compiling class is the following:
A general pointer to the Field is given to the algorithm, this is a pointer to the base class of the Field which is the same for all possible Field types. To discover what type it is a virtual function call into the Field is made revealing its true identity. This type information is used to compile a templated algorithm that uses the specific field type as a template argument. When the algorithm is compiled it will execute the algorithm.
To create a dynamically compiling algorithm we start by defining to classes: a base class and a templated class derived from that.
In this example the base class is called ConvertToPointCloudAlgo:
This class contains the general access point for the dynamic compiled algorithm. It takes handles (pointers) to the Field base class. It will examine all the input arguments and determine which type the input Fields actually are. When this is known it will tell the dynamic compiler which algorithm needs to be compiled to carry out the operation with high efficiency.
The second class is a template class called ToPointCloudAlgoT:
This class is derived from the base class and has a similar call to the algorithm. This templated class contains the actual algorithm. When the dynamic compiler is invoked it will take in a handle to the base algorithm, internally it will overload this with the handle to an instatiation of the templated algorithm. Since the templated class will overload the access function of the base class with the one defined in the templated version using virtual function, one can now invoke the compiled algorithm by calling the access on the base class.
The base class now defined as following:
class ToPointCloudAlgo : public DynamicAlgoBase
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is the general access point to the dynamic algorithms in the class. The function ToPointCloud() is the access function to the dynamically compiled algorithm. It is a good practive to define the access functions to the dynamically compiled algorithms as following:
virtual bool MyFunction(ProgressReporter* pr, FieldHandle input1,
FieldHandle input2, ... FieldHandle& output)
Here the algorithm returns false if it fails and true if it succeeds. In order to forward the error message all dynamic algorithms should take in a pointer to the current ProgressReporter. The ProgressReporter reports everything from the progress the algorithm made, to errors, remarks, warnings and is the general access point to forward messages to the user.
Hence this algorithm can be used in a module as following:
ToPointCloudAlgo algo;
if(!(algo->ToPointCloud(this,input,output)))
{
// algorothm failed
}
Note that the module class has been derived from the ProgressReporter and hence the pointer to the module can be used to initialise the ProgressReporter.
The second class called ToPointCloudAlgoT is the actual implementation of the algorithm. Note that the name of the algorithm ends with a 'T' to denote that the algorithm is templated (this is not strictly needed but improves readability if the code). The second class will look like this:
template <class FSRC, class FDST>
class ToPointCloudAlgoT : public ToPointCloudAlgo
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is templated according to the input and output field (FSRC, FDST). This means that the specific field class can be accessed by dynamic casting the input and output to the respective types.
=== The Templated class ===
Since the algorithm is templated, we need to define its implemenation in the header file.
template <class FSRC, class FDST>
bool ToPointCloudAlgoT<FSRC, FDST>::ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output)
{
The first thing the algorithm should do is to cast the pointer contained in the input handle into a pointer of the proper type. Remember this part of the code is dynamically compiled and hence the class FSRC is of the type of the class behind pointer in input, where input only points to the base class. To access the derived class we need to dynamically cast this pointer into its actual type:
FSRC *ifield = dynamic_cast<FSRC *>(input.get_rep());
In this example the function ''get_rep()'' gets the pointer contained in the handle.
After getting the pointer it is a good habit to insert a safety check, to test whether we actually have a pointer. Although we should get the pointer, if something went wrong in the dynamic casting we get a zero pointer . As we do not want to use a null pointer, we should add a little safety check;
if (ifield == 0)
{ // The object is of a different type
// Error reporting:
// we forward the specific message to the ProgressReporter and return a
// false to indicate that an error has occured.
// The ProgressReporter returns the error message to the module window
pr->error("ToPointCloud: Could not obtain input field");
return (false);
}
So far we got the pointer to the field. It is really useful to obtain the pointer to the mesh as well. To get a pointer to the specific mesh we use the function ''get_typed_mesh()''. In order to get the proper pointer definition we look into the field class where the type mesh_handle_type is defined. As the type consists of a templatename and the actual type defined inside the templated class we use ''typename'' to indicate to the compiler that FSRC::mesh_handle_type still needs to be parsed by specifying the actual template class.
typename FSRC::mesh_handle_type imesh = ifield->get_typed_mesh();
if (imesh == 0)
{
pr->error("ToPointCloud: No mesh associated with input field");
return (false);
}
Now we have the pointers to the input mesh, we need to create an output mesh which is of the type of a PointCloud. A mesh is created as following:
typename FDST::mesh_handle_type omesh = scinew typename FDST::mesh_type();
if (omesh == 0)
{
pr->error("ToPointCloud: Could not create output field");
return (false);
}
Note we use the following memory management strategy here: We store the pointer to the new mesh immediately into a mesh handle. Handles are smart pointers that automatically deallocate memory when the handle object is deallocated (unless the handle has been copied). Using handles to refer to new objects will make sure that, if we encounter an error in the code and we exit with a return (false), all memory will be freed automatically as the handle will be desrtoyed. The handle was not copied in that case and thus the object it is pointing to will be automatically destroyed.
Now we need to implement the actual algorithm:
We need to define iterators over the mesh, in this case they depend on the type of the mesh and have to be defined through the templated classes:
typename FSRC::mesh_type::Node::iterator bn, en;
typename FSRC::mesh_type::Node::size_type numnodes;
imesh->begin(bn); // get begin iterator
imesh->end(en); // get end iterator
imesh->size(numnodes); // get the number of nodes in the mesh
It is always good to preallocate memory if the number of nodes in the output mesh is known.
omesh->node_reserve(numnodes);
In the next loop the algorithm loops over all the nodes in the input mesh. It extracts the exact location of the point and then inserts the node into the output mesh.
while (bn != en)
{
Point point;
imesh->get_center(point, *bn);
omesh->add_point(point);
++bn;
}
Now the new mesh has been created, the output field can be created. This output field can then be attached to the output FieldHandle.
FDST *ofield = scinew FDST(omesh);
output = ofield;
if (ofield == 0)
{
pr->error("ToPointCloud: Could not create output field");
return (false);
}
The algorithm is completed by copying data from the nodes in the input field into the nodes of the output field. This copying is only done when the data is located at the nodes to begin with. In order to check whether the data is located at the nodes the ''basis_order()'' of the mesh is checked.
// Make sure Fdata matches the size of the number of nodes
ofield->resize_fdata();
// Is this a linear input field, if so we can copy data from node to node
if (ifield->basis_order() == 1)
{
typename FSRC::fdata_type::iterator bid = ifield->fdata().begin();
typename FSRC::fdata_type::iterator eid = ifield->fdata().end();
typename FDST::fdata_type::iterator bod = ofield->fdata().begin();
while (bid != eid)
{
*bod = *bid;
++bod; ++bid;
}
}
The algorithm is finished by copying the properties from the input field to the output field.
output->copy_properties(input.get_rep());
// Success:
return (true);
}
=== The Base class ===
bool ToPointCloudAlgo::ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output)
{
// Step 0:
// Safety test:
// Test whether we received actually a field. A handle can point to no object.
// Using a null handle will cause the program to crash. Hence it is a good
// policy to check all incoming handles and to see whether they point to actual
// objects.
// Handle: the function get_rep() returns the pointer contained in the handle
if (input.get_rep() == 0)
{
// If we encounter a null pointer we return an error message and return to
// the program to deal with this error.
pr->error("ToPointCloud: No input field");
return (false);
}
// Step 1: determine the type of the input fields and determine what type the
// output field should be.
// FieldInformation is a helper class that will store all the names of all the
// components a field is made of. It takes a handle to a field and then
// determines what the actual type is of the field.
// As the current Field class has a variety of functions to query for its type
// the FieldInformation object will do this for you and will contain a summary of all
// the type information.
// As the output field will be a variation on the input field we initialize
// both with the input handle.
FieldInformation fi(input);
FieldInformation fo(input);
// Recent updates to the software allow for quadratic and cubic hermitian
// representations. However these methods have not fully been exposed yet.
// Hence the iterators in the field will not consider the information needed
// to define these non-linear elements. And hence although the algorithm may
// provide output for these cases and may not fail, the output is mathematically
// improper and hence for a proper implementation we have to wait until the
// mesh and field classes are fully completed.
// Here we test whether the class is part of any of these newly defined
// non-linear classes. If so we return an error.
if (fi.is_nonlinear())
{
pr->error("ToPointCloud: This function has not yet been defined for non-linear elements yet");
return (false);
}
// If the mesh is already a PointCloud, we only need to copy the input to the
// output. No algorithm is needed in this case.
if (fi.get_mesh_type() == "PointCloudMesh")
{
output = input;
return (true);
}
// Define the output type of the data
fo.set_mesh_type("PointCloudMesh");
fo.set_mesh_basis_type("ConstantBasis");
if (fi.get_basis_type() == "ConstantBasis")
{
// Inform the user of some possible unintented consequence:
pr->remark("Data is defined at the elements: hence removing the data from the field");
// Though we can still perform the operation
fo.set_basis_type("NoDataBasis");
}
// Step 3: Build information structure for the dynamic compilation
// The only object we need to build to perform a dynamic compilation is the
// CompileInfo. This object is created and we use the handle to the object
// to pass the data structure around.
// CompileInfo object:
// The constructor needs the following information:
// 1) an unique filename descriptor which can used in the on-the-fly-libs
// directory. The FieldInformation object has a function that renders an
// unique name for each field type.
// 2) The name of the base class
// 3) The name of the templated class without template descriptors
// 4) The template descriptors separated by commas
SCIRun::CompileInfoHandle ci = scinew CompileInfo(
"ALGOToPointCloud."+fi.get_field_filename()+"."+fo.get_field_filename()+".",
"ToPointCloudAlgo","ToPointCloudAlgoT",
fi.get_field_name() + "," + fo.get_field_name());
// The dynamic algorithm will be created by writing a small piece of code in
// a .cc file. This file needs to know which file to include for the definitions
// of this algorithm.
ci->add_include(TypeDescription::cc_to_h(__FILE__));
// This function is defined in the namespace SCIRunAlgo, add a statement
// 'using namespace SCIRunAlgo' to the dynamic file to be created.
ci->add_namespace("SCIRunAlgo");
ci->add_namespace("SCIRun");
// In order to be able to compile the dynamic code it needs to include the
// descriptions of the mesh/field classes. The following two statements will
// add the proper include files for both the input and output field types
fi.fill_compile_info(ci);
fo.fill_compile_info(ci);
if (dynamic_cast<RegressionReporter *>(pr)) ci->keep_library_ = false;
// Step 3: Build the dynamic algorithm
// Create an access point to the dynamically compiled algorithm
// Note: this is currently a handle to the base class algorithm.
SCIRun::Handle<ToPointCloudAlgo> algo;
// Dynamically compile the algorithm.
// If the function is a success: algo will point to the dynamically
// compiled algorithm. Since the access function is virtual executing it will
// invoke the dynamic version.
if(!(SCIRun::DynamicCompilation::compile(ci,algo,pr)))
{
// In case we detect an error: we forward the error to the user
// The current system will take the filename of the file that failed to compile
// It will display the error and dynamic file to the user, in the hope it
// will tell something on what went wrong
pr->compile_error(ci->filename_);
// If compilation failed: remove file from on-the-fly-libs directory
SCIRun::DynamicLoader::scirun_loader().cleanup_failed_compile(ci);
return(false);
}
// Finally step 4: invoke dynamic algorithm
// Depending on whether dynamic algorithm fails or succeeds, false or true
// is returned.
// As error messages are reportered to the ProgressReporter we do not need to
// handle any error messages here, they automatically are forwarded to the user.
return(algo->ToPointCloud(pr,input,output));
}
1601
1600
2006-11-02T05:52:40Z
Jeroen
19
/* The Base class */
wikitext
text/x-wiki
==Dynamic Compilation==
===Overview===
The current version of SCIRun supports a feature which we call dynamic compilation. Dynamic Compilation refers to the ability of compiling pieces of code while SCIRun is executing. This feature requires a compiler being available at run time. The reason for dynamically compiling code is the ability to optimize code for a particular model while SCIRun is being used to solve a particular problem.
SCIRun makes extensive use of C++ templates. Templates are a powerful mechanism that allows writing algorithms or data structures once, while allowing them to be usable with many types of data. However, in order to use any particular type of data, the templates need to know about them at compile time. Dynamic compilation allows templates written in the past to be applied to new data types at run time by dynamically compiling code. Making this into a powerful feature.
===Creating a dynamically compiled algorithm===
The most common use for dynamic compilation is to create an algorithm that operates on the Field class. As the GenericField class is templated using three classes, an algorithm that operates on this class can consist out of a wide range of possible algorithms. Using dynamic compilation SCIRun compiles the proper algorithm when it knows by means of the user defined fields which algorithms to operate on.
In this chapter creating a dynamic compiled algorithm is demonstrated by means of the ConvertToPointCloud algorithm. This algorithm takes a handle to field and extracts all the node locations from the mesh and returns a field that does not contain any elements anymore but only the actual node points that were part of the input field.
The idea of a dynamically compiling class is the following:
A general pointer to the Field is given to the algorithm, this is a pointer to the base class of the Field which is the same for all possible Field types. To discover what type it is a virtual function call into the Field is made revealing its true identity. This type information is used to compile a templated algorithm that uses the specific field type as a template argument. When the algorithm is compiled it will execute the algorithm.
To create a dynamically compiling algorithm we start by defining to classes: a base class and a templated class derived from that.
In this example the base class is called ConvertToPointCloudAlgo:
This class contains the general access point for the dynamic compiled algorithm. It takes handles (pointers) to the Field base class. It will examine all the input arguments and determine which type the input Fields actually are. When this is known it will tell the dynamic compiler which algorithm needs to be compiled to carry out the operation with high efficiency.
The second class is a template class called ToPointCloudAlgoT:
This class is derived from the base class and has a similar call to the algorithm. This templated class contains the actual algorithm. When the dynamic compiler is invoked it will take in a handle to the base algorithm, internally it will overload this with the handle to an instatiation of the templated algorithm. Since the templated class will overload the access function of the base class with the one defined in the templated version using virtual function, one can now invoke the compiled algorithm by calling the access on the base class.
The base class now defined as following:
class ToPointCloudAlgo : public DynamicAlgoBase
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is the general access point to the dynamic algorithms in the class. The function ToPointCloud() is the access function to the dynamically compiled algorithm. It is a good practive to define the access functions to the dynamically compiled algorithms as following:
virtual bool MyFunction(ProgressReporter* pr, FieldHandle input1,
FieldHandle input2, ... FieldHandle& output)
Here the algorithm returns false if it fails and true if it succeeds. In order to forward the error message all dynamic algorithms should take in a pointer to the current ProgressReporter. The ProgressReporter reports everything from the progress the algorithm made, to errors, remarks, warnings and is the general access point to forward messages to the user.
Hence this algorithm can be used in a module as following:
ToPointCloudAlgo algo;
if(!(algo->ToPointCloud(this,input,output)))
{
// algorothm failed
}
Note that the module class has been derived from the ProgressReporter and hence the pointer to the module can be used to initialise the ProgressReporter.
The second class called ToPointCloudAlgoT is the actual implementation of the algorithm. Note that the name of the algorithm ends with a 'T' to denote that the algorithm is templated (this is not strictly needed but improves readability if the code). The second class will look like this:
template <class FSRC, class FDST>
class ToPointCloudAlgoT : public ToPointCloudAlgo
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is templated according to the input and output field (FSRC, FDST). This means that the specific field class can be accessed by dynamic casting the input and output to the respective types.
=== The Templated class ===
Since the algorithm is templated, we need to define its implemenation in the header file.
template <class FSRC, class FDST>
bool ToPointCloudAlgoT<FSRC, FDST>::ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output)
{
The first thing the algorithm should do is to cast the pointer contained in the input handle into a pointer of the proper type. Remember this part of the code is dynamically compiled and hence the class FSRC is of the type of the class behind pointer in input, where input only points to the base class. To access the derived class we need to dynamically cast this pointer into its actual type:
FSRC *ifield = dynamic_cast<FSRC *>(input.get_rep());
In this example the function ''get_rep()'' gets the pointer contained in the handle.
After getting the pointer it is a good habit to insert a safety check, to test whether we actually have a pointer. Although we should get the pointer, if something went wrong in the dynamic casting we get a zero pointer . As we do not want to use a null pointer, we should add a little safety check;
if (ifield == 0)
{ // The object is of a different type
// Error reporting:
// we forward the specific message to the ProgressReporter and return a
// false to indicate that an error has occured.
// The ProgressReporter returns the error message to the module window
pr->error("ToPointCloud: Could not obtain input field");
return (false);
}
So far we got the pointer to the field. It is really useful to obtain the pointer to the mesh as well. To get a pointer to the specific mesh we use the function ''get_typed_mesh()''. In order to get the proper pointer definition we look into the field class where the type mesh_handle_type is defined. As the type consists of a templatename and the actual type defined inside the templated class we use ''typename'' to indicate to the compiler that FSRC::mesh_handle_type still needs to be parsed by specifying the actual template class.
typename FSRC::mesh_handle_type imesh = ifield->get_typed_mesh();
if (imesh == 0)
{
pr->error("ToPointCloud: No mesh associated with input field");
return (false);
}
Now we have the pointers to the input mesh, we need to create an output mesh which is of the type of a PointCloud. A mesh is created as following:
typename FDST::mesh_handle_type omesh = scinew typename FDST::mesh_type();
if (omesh == 0)
{
pr->error("ToPointCloud: Could not create output field");
return (false);
}
Note we use the following memory management strategy here: We store the pointer to the new mesh immediately into a mesh handle. Handles are smart pointers that automatically deallocate memory when the handle object is deallocated (unless the handle has been copied). Using handles to refer to new objects will make sure that, if we encounter an error in the code and we exit with a return (false), all memory will be freed automatically as the handle will be desrtoyed. The handle was not copied in that case and thus the object it is pointing to will be automatically destroyed.
Now we need to implement the actual algorithm:
We need to define iterators over the mesh, in this case they depend on the type of the mesh and have to be defined through the templated classes:
typename FSRC::mesh_type::Node::iterator bn, en;
typename FSRC::mesh_type::Node::size_type numnodes;
imesh->begin(bn); // get begin iterator
imesh->end(en); // get end iterator
imesh->size(numnodes); // get the number of nodes in the mesh
It is always good to preallocate memory if the number of nodes in the output mesh is known.
omesh->node_reserve(numnodes);
In the next loop the algorithm loops over all the nodes in the input mesh. It extracts the exact location of the point and then inserts the node into the output mesh.
while (bn != en)
{
Point point;
imesh->get_center(point, *bn);
omesh->add_point(point);
++bn;
}
Now the new mesh has been created, the output field can be created. This output field can then be attached to the output FieldHandle.
FDST *ofield = scinew FDST(omesh);
output = ofield;
if (ofield == 0)
{
pr->error("ToPointCloud: Could not create output field");
return (false);
}
The algorithm is completed by copying data from the nodes in the input field into the nodes of the output field. This copying is only done when the data is located at the nodes to begin with. In order to check whether the data is located at the nodes the ''basis_order()'' of the mesh is checked.
// Make sure Fdata matches the size of the number of nodes
ofield->resize_fdata();
// Is this a linear input field, if so we can copy data from node to node
if (ifield->basis_order() == 1)
{
typename FSRC::fdata_type::iterator bid = ifield->fdata().begin();
typename FSRC::fdata_type::iterator eid = ifield->fdata().end();
typename FDST::fdata_type::iterator bod = ofield->fdata().begin();
while (bid != eid)
{
*bod = *bid;
++bod; ++bid;
}
}
The algorithm is finished by copying the properties from the input field to the output field.
output->copy_properties(input.get_rep());
// Success:
return (true);
}
=== The Base class ===
The base class is used to compile and access the templated algorithm. The base class contains the same function definition as the template class, however it is this function that is accessed from the rest of SCIRun. Internally it does generate the actual algorithm.
The base class algorithm is defined in a .cc file and reads as follows:
bool ToPointCloudAlgo::ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output)
{
The first step is to test whether we received a valid field. A handle can point to no object and hence we need to discard this possibility. Using a null handle will cause the program to crash. Hence it is a good policy to check all incoming handles and to see whether they point to actual objects.
if (input.get_rep() == 0)
{
// If we encounter a null pointer we return an error message and return to
// the program to deal with this error.
pr->error("ToPointCloud: No input field");
return (false);
}
The first thing this algorithm needs to do is to determine the type of the input fields and determine what type the output field should be. The ''FieldInformation'' is a helper class that will store all the names of all the components a field is made of. It takes a handle to a field and then determines what the actual type is of the field. As the current Field class has a variety of functions to query for its type the ''FieldInformation'' object will do this for you and will contain a summary of all the type information.
// As the output field will be a variation on the input field we initialize
// both with the input handle.
FieldInformation fi(input);
FieldInformation fo(input);
Recent updates to the software allow for quadratic and cubic hermitian representations. However these methods have not fully been exposed yet. Hence the iterators in the field will not consider the information needed to define these non-linear elements. And hence although the algorithm may provide output for these cases and may not fail, the output is mathematically improper and hence for a proper implementation we have to wait until the mesh and field classes are fully completed.
Using the ''FieldInformation'' class we can test whether the class is part of any of these newly defined non-linear classes. If so we return an error.
if (fi.is_nonlinear())
{
pr->error("ToPointCloud: This function has not yet been defined for non-linear elements yet");
return (false);
}
The other thing which we need to check is that in case the mesh is already a PointCloud, we only need to copy the input to the output. No algorithm is needed in this case.
if (fi.get_mesh_type() == "PointCloudMesh")
{
output = input;
return (true);
}
The algorithm now needs to define the output field type. This is done by modifying the ''FieldInformation''. By starting with the input field we can maintain properties like the datatype in which the data stored and only change the field class:
fo.set_mesh_type("PointCloudMesh");
fo.set_mesh_basis_type("ConstantBasis");
if (fi.get_basis_type() == "ConstantBasis")
{
// Inform the user of some possible unintented consequence:
pr->remark("Data is defined at the elements: hence removing the data from the field");
// Though we can still perform the operation
fo.set_basis_type("NoDataBasis");
}
The next step is to build the information structure for the dynamic compilation. The only object we need to build to perform a dynamic compilation is the ''CompileInfo''. This object is created and we use the handle to the object to pass the data structure around.
The ''CompileInfo'' object contains the following information:
The constructor needs the following information:
# An unique filename descriptor which can used in the on-the-fly-libs directory. The ''FieldInformation'' object has a function that renders an unique name for each field type. The latter is combined with the name of the algorithm into a unique name for the dynamically compiled file.
# The name of the base class
# The name of the templated class without template descriptors
# The template descriptors separated by commas
The following code generates the ''CompileInfo'' object:
SCIRun::CompileInfoHandle ci = scinew CompileInfo(
"ALGOToPointCloud."+fi.get_field_filename()+"."+fo.get_field_filename()+".",
"ToPointCloudAlgo","ToPointCloudAlgoT",
fi.get_field_name() + "," + fo.get_field_name());
The dynamic algorithm will be created by writing a small piece of code in a .cc file. This file needs to know which file to include for the definitions of this algorithm. Using the function ''add_include'' includes can be added to the dynamically compiled code:
ci->add_include(TypeDescription::cc_to_h(__FILE__));
This function is defined in the namespace SCIRunAlgo, add a statement 'using namespace SCIRunAlgo' to the dynamic file to be created:
ci->add_namespace("SCIRunAlgo");
ci->add_namespace("SCIRun");
In order to be able to compile the dynamic code it needs to include the descriptions of the mesh/field classes. The following two statements will add the proper include files for both the input and output field types :
fi.fill_compile_info(ci);
fo.fill_compile_info(ci);
The next step is to invoke the compiler to compile a piece of code. For the new algorithm we need to create an access point to the dynamically compiled algorithm. In order to do so we create a handle to the basis algorithm class. Note: this is currently a handle to the base class algorithm.
SCIRun::Handle<ToPointCloudAlgo> algo;
The next step is to call the ''compile()'' function using the ''CompileInfo'' to create the dynamically compiled piece of code and the Handle to the base algorithm, which will be overloaded with the actual algorithm. If the function is a success, the handle ''algo'' will point to the dynamically compiled algorithm. Since the access function is virtual, executing it will invoke the dynamic version.
if(!(SCIRun::DynamicCompilation::compile(ci,algo,pr)))
{
// In case we detect an error: we forward the error to the user
// The current system will take the filename of the file that failed to compile
// It will display the error and dynamic file to the user, in the hope it
// will tell something on what went wrong
pr->compile_error(ci->filename_);
// If compilation failed: remove file from on-the-fly-libs directory
SCIRun::DynamicLoader::scirun_loader().cleanup_failed_compile(ci);
return(false);
}
The final step is to invoke dynamic algorithm.
return(algo->ToPointCloud(pr,input,output));
}
Depending on whether dynamic algorithm fails or succeeds, false or true is returned. As error messages are reportered to the ProgressReporter we do not need to handle any error messages here, they automatically are forwarded to the user.
3825
1601
2006-11-02T05:53:54Z
Jeroen
19
wikitext
text/x-wiki
==Dynamic Compilation==
===Overview===
The current version of SCIRun supports a feature which we call dynamic compilation. Dynamic Compilation refers to the ability of compiling pieces of code while SCIRun is executing. This feature requires a compiler being available at run time. The reason for dynamically compiling code is the ability to optimize code for a particular model while SCIRun is being used to solve a particular problem.
SCIRun makes extensive use of C++ templates. Templates are a powerful mechanism that allows writing algorithms or data structures once, while allowing them to be usable with many types of data. However, in order to use any particular type of data, the templates need to know about them at compile time. Dynamic compilation allows templates written in the past to be applied to new data types at run time by dynamically compiling code. Making this into a powerful feature.
===Creating a dynamically compiled algorithm===
The most common use for dynamic compilation is to create an algorithm that operates on the Field class. As the GenericField class is templated using three classes, an algorithm that operates on this class can consist out of a wide range of possible algorithms. Using dynamic compilation SCIRun compiles the proper algorithm when it knows by means of the user defined fields which algorithms to operate on.
In this chapter creating a dynamic compiled algorithm is demonstrated by means of the ConvertToPointCloud algorithm. This algorithm takes a handle to field and extracts all the node locations from the mesh and returns a field that does not contain any elements anymore but only the actual node points that were part of the input field.
The idea of a dynamically compiling class is the following:
A general pointer to the Field is given to the algorithm, this is a pointer to the base class of the Field which is the same for all possible Field types. To discover what type it is a virtual function call into the Field is made revealing its true identity. This type information is used to compile a templated algorithm that uses the specific field type as a template argument. When the algorithm is compiled it will execute the algorithm.
To create a dynamically compiling algorithm we start by defining to classes: a base class and a templated class derived from that.
In this example the base class is called ConvertToPointCloudAlgo:
This class contains the general access point for the dynamic compiled algorithm. It takes handles (pointers) to the Field base class. It will examine all the input arguments and determine which type the input Fields actually are. When this is known it will tell the dynamic compiler which algorithm needs to be compiled to carry out the operation with high efficiency.
The second class is a template class called ToPointCloudAlgoT:
This class is derived from the base class and has a similar call to the algorithm. This templated class contains the actual algorithm. When the dynamic compiler is invoked it will take in a handle to the base algorithm, internally it will overload this with the handle to an instatiation of the templated algorithm. Since the templated class will overload the access function of the base class with the one defined in the templated version using virtual function, one can now invoke the compiled algorithm by calling the access on the base class.
The base class now defined as following:
class ToPointCloudAlgo : public DynamicAlgoBase
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is the general access point to the dynamic algorithms in the class. The function ToPointCloud() is the access function to the dynamically compiled algorithm. It is a good practive to define the access functions to the dynamically compiled algorithms as following:
virtual bool MyFunction(ProgressReporter* pr, FieldHandle input1,
FieldHandle input2, ... FieldHandle& output)
Here the algorithm returns false if it fails and true if it succeeds. In order to forward the error message all dynamic algorithms should take in a pointer to the current ProgressReporter. The ProgressReporter reports everything from the progress the algorithm made, to errors, remarks, warnings and is the general access point to forward messages to the user.
Hence this algorithm can be used in a module as following:
ToPointCloudAlgo algo;
if(!(algo->ToPointCloud(this,input,output)))
{
// algorothm failed
}
Note that the module class has been derived from the ProgressReporter and hence the pointer to the module can be used to initialise the ProgressReporter.
The second class called ToPointCloudAlgoT is the actual implementation of the algorithm. Note that the name of the algorithm ends with a 'T' to denote that the algorithm is templated (this is not strictly needed but improves readability if the code). The second class will look like this:
template <class FSRC, class FDST>
class ToPointCloudAlgoT : public ToPointCloudAlgo
{
public:
virtual bool ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output);
};
This class is templated according to the input and output field (FSRC, FDST). This means that the specific field class can be accessed by dynamic casting the input and output to the respective types.
=== The Templated class ===
Since the algorithm is templated, we need to define its implemenation in the header file.
template <class FSRC, class FDST>
bool ToPointCloudAlgoT<FSRC, FDST>::ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output)
{
The first thing the algorithm should do is to cast the pointer contained in the input handle into a pointer of the proper type. Remember this part of the code is dynamically compiled and hence the class FSRC is of the type of the class behind pointer in input, where input only points to the base class. To access the derived class we need to dynamically cast this pointer into its actual type:
FSRC *ifield = dynamic_cast<FSRC *>(input.get_rep());
In this example the function ''get_rep()'' gets the pointer contained in the handle.
After getting the pointer it is a good habit to insert a safety check, to test whether we actually have a pointer. Although we should get the pointer, if something went wrong in the dynamic casting we get a zero pointer . As we do not want to use a null pointer, we should add a little safety check;
if (ifield == 0)
{ // The object is of a different type
// Error reporting:
// we forward the specific message to the ProgressReporter and return a
// false to indicate that an error has occured.
// The ProgressReporter returns the error message to the module window
pr->error("ToPointCloud: Could not obtain input field");
return (false);
}
So far we got the pointer to the field. It is really useful to obtain the pointer to the mesh as well. To get a pointer to the specific mesh we use the function ''get_typed_mesh()''. In order to get the proper pointer definition we look into the field class where the type mesh_handle_type is defined. As the type consists of a templatename and the actual type defined inside the templated class we use ''typename'' to indicate to the compiler that FSRC::mesh_handle_type still needs to be parsed by specifying the actual template class.
typename FSRC::mesh_handle_type imesh = ifield->get_typed_mesh();
if (imesh == 0)
{
pr->error("ToPointCloud: No mesh associated with input field");
return (false);
}
Now we have the pointers to the input mesh, we need to create an output mesh which is of the type of a PointCloud. A mesh is created as following:
typename FDST::mesh_handle_type omesh = scinew typename FDST::mesh_type();
if (omesh == 0)
{
pr->error("ToPointCloud: Could not create output field");
return (false);
}
Note we use the following memory management strategy here: We store the pointer to the new mesh immediately into a mesh handle. Handles are smart pointers that automatically deallocate memory when the handle object is deallocated (unless the handle has been copied). Using handles to refer to new objects will make sure that, if we encounter an error in the code and we exit with a return (false), all memory will be freed automatically as the handle will be desrtoyed. The handle was not copied in that case and thus the object it is pointing to will be automatically destroyed.
Now we need to implement the actual algorithm:
We need to define iterators over the mesh, in this case they depend on the type of the mesh and have to be defined through the templated classes:
typename FSRC::mesh_type::Node::iterator bn, en;
typename FSRC::mesh_type::Node::size_type numnodes;
imesh->begin(bn); // get begin iterator
imesh->end(en); // get end iterator
imesh->size(numnodes); // get the number of nodes in the mesh
It is always good to preallocate memory if the number of nodes in the output mesh is known.
omesh->node_reserve(numnodes);
In the next loop the algorithm loops over all the nodes in the input mesh. It extracts the exact location of the point and then inserts the node into the output mesh.
while (bn != en)
{
Point point;
imesh->get_center(point, *bn);
omesh->add_point(point);
++bn;
}
Now the new mesh has been created, the output field can be created. This output field can then be attached to the output FieldHandle.
FDST *ofield = scinew FDST(omesh);
output = ofield;
if (ofield == 0)
{
pr->error("ToPointCloud: Could not create output field");
return (false);
}
The algorithm is completed by copying data from the nodes in the input field into the nodes of the output field. This copying is only done when the data is located at the nodes to begin with. In order to check whether the data is located at the nodes the ''basis_order()'' of the mesh is checked.
// Make sure Fdata matches the size of the number of nodes
ofield->resize_fdata();
// Is this a linear input field, if so we can copy data from node to node
if (ifield->basis_order() == 1)
{
typename FSRC::fdata_type::iterator bid = ifield->fdata().begin();
typename FSRC::fdata_type::iterator eid = ifield->fdata().end();
typename FDST::fdata_type::iterator bod = ofield->fdata().begin();
while (bid != eid)
{
*bod = *bid;
++bod; ++bid;
}
}
The algorithm is finished by copying the properties from the input field to the output field.
output->copy_properties(input.get_rep());
// Success:
return (true);
}
=== The Base class ===
The base class is used to compile and access the templated algorithm. The base class contains the same function definition as the template class, however it is this function that is accessed from the rest of SCIRun. Internally it does generate the actual algorithm.
The base class algorithm is defined in a .cc file and reads as follows:
bool ToPointCloudAlgo::ToPointCloud(ProgressReporter *pr, FieldHandle input, FieldHandle& output)
{
The first step is to test whether we received a valid field. A handle can point to no object and hence we need to discard this possibility. Using a null handle will cause the program to crash. Hence it is a good policy to check all incoming handles and to see whether they point to actual objects.
if (input.get_rep() == 0)
{
// If we encounter a null pointer we return an error message and return to
// the program to deal with this error.
pr->error("ToPointCloud: No input field");
return (false);
}
The first thing this algorithm needs to do is to determine the type of the input fields and determine what type the output field should be. The ''FieldInformation'' is a helper class that will store all the names of all the components a field is made of. It takes a handle to a field and then determines what the actual type is of the field. As the current Field class has a variety of functions to query for its type the ''FieldInformation'' object will do this for you and will contain a summary of all the type information.
// As the output field will be a variation on the input field we initialize
// both with the input handle.
FieldInformation fi(input);
FieldInformation fo(input);
Recent updates to the software allow for quadratic and cubic hermitian representations. However these methods have not fully been exposed yet. Hence the iterators in the field will not consider the information needed to define these non-linear elements. And hence although the algorithm may provide output for these cases and may not fail, the output is mathematically improper and hence for a proper implementation we have to wait until the mesh and field classes are fully completed.
Using the ''FieldInformation'' class we can test whether the class is part of any of these newly defined non-linear classes. If so we return an error.
if (fi.is_nonlinear())
{
pr->error("ToPointCloud: This function has not yet been defined for non-linear elements yet");
return (false);
}
The other thing which we need to check is that in case the mesh is already a PointCloud, we only need to copy the input to the output. No algorithm is needed in this case.
if (fi.get_mesh_type() == "PointCloudMesh")
{
output = input;
return (true);
}
The algorithm now needs to define the output field type. This is done by modifying the ''FieldInformation''. By starting with the input field we can maintain properties like the datatype in which the data stored and only change the field class:
fo.set_mesh_type("PointCloudMesh");
fo.set_mesh_basis_type("ConstantBasis");
if (fi.get_basis_type() == "ConstantBasis")
{
// Inform the user of some possible unintented consequence:
pr->remark("Data is defined at the elements: hence removing the data from the field");
// Though we can still perform the operation
fo.set_basis_type("NoDataBasis");
}
The next step is to build the information structure for the dynamic compilation. The only object we need to build to perform a dynamic compilation is the ''CompileInfo''. This object is created and we use the handle to the object to pass the data structure around.
The ''CompileInfo'' object contains the following information:
The constructor needs the following information:
# An unique filename descriptor which can used in the on-the-fly-libs directory. The ''FieldInformation'' object has a function that renders an unique name for each field type. The latter is combined with the name of the algorithm into a unique name for the dynamically compiled file.
# The name of the base class
# The name of the templated class without template descriptors
# The template descriptors separated by commas
The following code generates the ''CompileInfo'' object:
SCIRun::CompileInfoHandle ci = scinew CompileInfo(
"ALGOToPointCloud."+fi.get_field_filename()+"."+fo.get_field_filename()+".",
"ToPointCloudAlgo","ToPointCloudAlgoT",
fi.get_field_name() + "," + fo.get_field_name());
The dynamic algorithm will be created by writing a small piece of code in a .cc file. This file needs to know which file to include for the definitions of this algorithm. Using the function ''add_include'' includes can be added to the dynamically compiled code:
ci->add_include(TypeDescription::cc_to_h(__FILE__));
This function is defined in the namespace SCIRunAlgo, add a statement 'using namespace SCIRunAlgo' to the dynamic file to be created:
ci->add_namespace("SCIRunAlgo");
ci->add_namespace("SCIRun");
In order to be able to compile the dynamic code it needs to include the descriptions of the mesh/field classes. The following two statements will add the proper include files for both the input and output field types :
fi.fill_compile_info(ci);
fo.fill_compile_info(ci);
The next step is to invoke the compiler to compile a piece of code. For the new algorithm we need to create an access point to the dynamically compiled algorithm. In order to do so we create a handle to the basis algorithm class. Note: this is currently a handle to the base class algorithm.
SCIRun::Handle<ToPointCloudAlgo> algo;
The next step is to call the ''compile()'' function using the ''CompileInfo'' to create the dynamically compiled piece of code and the Handle to the base algorithm, which will be overloaded with the actual algorithm. If the function is a success, the handle ''algo'' will point to the dynamically compiled algorithm. Since the access function is virtual, executing it will invoke the dynamic version.
if(!(SCIRun::DynamicCompilation::compile(ci,algo,pr)))
{
// In case we detect an error: we forward the error to the user
// The current system will take the filename of the file that failed to compile
// It will display the error and dynamic file to the user, in the hope it
// will tell something on what went wrong
pr->compile_error(ci->filename_);
// If compilation failed: remove file from on-the-fly-libs directory
SCIRun::DynamicLoader::scirun_loader().cleanup_failed_compile(ci);
return(false);
}
The final step is to invoke dynamic algorithm.
return(algo->ToPointCloud(pr,input,output));
}
Depending on whether dynamic algorithm fails or succeeds, false or true is returned. As error messages are reportered to the ProgressReporter we do not need to handle any error messages here, they automatically are forwarded to the user.
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Documentation:SCIRun:DevManual:InterfaceToTCL
0
1684
1603
2006-11-02T06:01:12Z
Jeroen
19
wikitext
text/x-wiki
==Interface to TCL==
This chapter describes how to easily communicate between the GUI (Tcl/Tk) and the C++ elements of SCIRun modules.
===Introduction===
SCIRun uses TCL/TK as its GUI font end. However, the TCL/TK was not designed with a clean interface between TCL code and C/C++. The purpose of this directory is to provide an abstraction layer between the two and make the task of moving data between the TCL and the C++ portions of SCIRun transparent to the user.
Most of the code in the Dataflow/GuiInterface directory is used internally in SCIRun. The only exception are the GuiVars which can be access from both the tcl and the C++ codes. These variables provide a transparent mechanism in C++ to set or get the tcl variables they represent. Each such tcl variable is associated with a Module and thus contains information about the module tcl id and a pointer to the module.
===Programming with the SCIRun GuiInterface===
On the TCL side, the code should access the variables as regular tcl variables. On the C++ side, the code needs to declare these variables inside a Module and access them via the get() and set() functions.
'''GuiVar'''
GuiVars are variables that encapsulate the interaction between the C++ code and the GUI (Graphical User Interface) code. The variable does not hold the actual value, rather it holds information which is used to access the corresponding variable on the GUI side. From the C++ side the user may set the variable value via a set() function and retrieve the value via a get() function.
There are several specialization of GuiVar for particular variable types such as GuiInt, GuiString and GuiPoint.
In a tcl code, i.e. in a tcl module:
itcl_class foo {
...
method set_defaults {} {
global $this-min
global $this-max
set $this-min 0 # set to 0
set $this-max [set $this-min] # '[set $this-var]' returns its value
}
...
}
In the C++ side, i.e. in a module:
class Demo : public Module {
...
GuiInt gui_min, gui_max; // define GUI variables
Demo( const clString& id );
void init();
};
Demo::Demo( const clString &id )
: Module(...),
gui_min("min",id, this), // initialize a variable with
gui_max("max",id,this) // its name on the tcl side.
{
...
}
void Demo::init()
{
gui_min.set(7); // set a tcl variable
int i = gui_max.get(); // get a value from the tcl side
}
3826
1603
2006-11-02T06:02:18Z
Jeroen
19
wikitext
text/x-wiki
==Interface to TCL==
This chapter describes how to easily communicate between the GUI (Tcl/Tk) and the C++ elements of SCIRun modules.
===Introduction===
SCIRun uses TCL/TK as its GUI font end. However, the TCL/TK was not designed with a clean interface between TCL code and C/C++. The purpose of this directory is to provide an abstraction layer between the two and make the task of moving data between the TCL and the C++ portions of SCIRun transparent to the user.
Most of the code in the Dataflow/GuiInterface directory is used internally in SCIRun. The only exception are the GuiVars which can be access from both the tcl and the C++ codes. These variables provide a transparent mechanism in C++ to set or get the tcl variables they represent. Each such tcl variable is associated with a Module and thus contains information about the module tcl id and a pointer to the module.
===Programming with the SCIRun GuiInterface===
On the TCL side, the code should access the variables as regular tcl variables. On the C++ side, the code needs to declare these variables inside a Module and access them via the get() and set() functions.
'''GuiVar'''
GuiVars are variables that encapsulate the interaction between the C++ code and the GUI (Graphical User Interface) code. The variable does not hold the actual value, rather it holds information which is used to access the corresponding variable on the GUI side. From the C++ side the user may set the variable value via a set() function and retrieve the value via a get() function.
There are several specialization of GuiVar for particular variable types such as GuiInt, GuiString and GuiPoint.
In a tcl code, i.e. in a tcl module:
itcl_class foo {
...
method set_defaults {} {
global $this-min
global $this-max
set $this-min 0 # set to 0
set $this-max [set $this-min] # '[set $this-var]' returns its value
}
...
}
In the C++ side, i.e. in a module:
class Demo : public Module {
...
GuiInt gui_min, gui_max; // define GUI variables
Demo( const clString& id );
void init();
};
Demo::Demo( const clString &id )
: Module(...),
gui_min("min",id, this), // initialize a variable with
gui_max("max",id,this) // its name on the tcl side.
{
...
}
void Demo::init()
{
gui_min.set(7); // set a tcl variable
int i = gui_max.get(); // get a value from the tcl side
}
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Documentation:SCIRun:DevManual:MemoryManagement
0
1685
1610
2006-11-02T06:10:48Z
Jeroen
19
wikitext
text/x-wiki
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Documentation:SCIRun:DevManual:PersistentIO
0
1686
1611
2006-11-02T06:11:02Z
Jeroen
19
wikitext
text/x-wiki
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Documentation:SCIRun:DevManual:CostumTkWidgets
0
1687
1612
2006-11-02T06:11:15Z
Jeroen
19
wikitext
text/x-wiki
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Documentation:SCIRun:DevManual:Utilities
0
1688
1608
2006-11-02T06:11:27Z
Jeroen
19
wikitext
text/x-wiki
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
1609
1608
2006-11-02T06:24:09Z
Jeroen
19
wikitext
text/x-wiki
==SCIRun Utilities==
This chapter describes some simple utilities available in SCIRun.
===Introduction===
The Core/Util directory is a miscellaneous collection of code. The code can be classified into 3 groups: debugging tools, timing routines, and SCIRun internal code.
The debugging tools and timing routines are generally useful. The SCIRun internal code is not.
The SCIRun internal code consists of routines for accessing shared libraries and work arounds of bugs on Linux platforms.
===Programming with SCIRun Utilities===
Use the the debugging and timing tools when developing any kind of code.
Use the debugging tools to specify data invariants, catch programming errors, and log messages during program execution.
The timer tools can be used to analyze code bottlenecks and perform other timing tasks.
====Assertion====
Assertions have 2 (related) uses. They are used to catch programming errors and they may used to make promises between a routine and its caller, i.e. "If you the caller send me data that does not violate my assertion(s) then I, the routine, promise to do the right thing by you."
Assertions express a set of valid states a data object (or objects) may possess at some point in the code. If a piece of data is not in a valid state, i.e. it violates the assertion, then the assertion will catch this violation, report the violation, and perhaps terminate the program.
SCIRun supports a number of assertion styles which can be found in Assert.h and FancyAssert.h. Here are a few examples:
Ensure that the variable 'n' is greater than 0:
ASSERT(n < 0);
Ensure that 'a' is equal to 999:
ASSERTEQ(a, 999);
Other examples:
ASSERTNE(a, 0);
ASSERTRANGE(a, 0.0, 1.0);
====Timer====
A Timer keeps track of time. Class Timer is an abstract base class - you can't create a Timer object. But you can create objects of the derived types CPUTimer, WallClockTimer, and TimeThrottle. These all provide the functions start(), stop(), clear(), time(), and add(). A TimeThrottle also provides the function wait_for_time(). Functions common to all timers are:
start() starts or resumes a timer.
stop() stops a timer. It does not clear accumulated time. The timer may be resumed with start().
clear() sets the timer's accumulated time to 0. clear() may be executed while a timer is running (although a warning will be written to std error).
time() returns the timer's accumulated time. It may be executed while the timer is running or stopped.
add(double t) adds t seconds to the current elapsed time.
Individual timer types are discussed next.
====CPUTimer====
CPUTimer records the elasped CPU time (seconds) used by the calling process (including system CPU time used on behalf of the calling process).
Example use of a CPUTimer:
CPUTimer cpuTimer;
cpuTimer.start();
for (i =0; i<3; ++i) {
.
.
.
}
cpuTimer.stop();
std::cout << "Loop used " << cpuTimer.time()
<< " seconds of cpu" << endl;
====WallClockTimer====
WallClockTimer records elasped real time (seconds).
Example use of a WallClockTimer:
WallClockTimer wcTimer;
wcTimer.start();
for (i =0; i<3; ++i) {
.
.
.
}
wcTimer.stop();
std::cout << "Loop used " << wcTimer.time()
<< " seconds of real time" << endl;
====TimeThrottle====
TimeThrottle is a WallClockTimer with the added function wait_for_time().
wait_for_time(double endtime) will suspend the calling thread until the given endtime (seconds) has elapsed. This function is only implemented on SGI systems.
Example use of a TimeThrottle:
TimeThrottle timeThrottle;
timeThrottle.start();
double startTime = timeThrottle.time();
// Start doing stuff.
.
.
.
// Make sure that not less than 1 second has elapsed since we started
// doing stuff.
timeThrottle.wait_for_time(startTime + 1);
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
3830
1609
2006-11-02T06:24:32Z
Jeroen
19
/* SCIRun Utilities */
wikitext
text/x-wiki
==SCIRun Utilities==
This chapter describes some simple utilities available in SCIRun.
===Introduction===
The Core/Util directory is a miscellaneous collection of code. The code can be classified into 3 groups: debugging tools, timing routines, and SCIRun internal code.
The debugging tools and timing routines are generally useful. The SCIRun internal code is not.
The SCIRun internal code consists of routines for accessing shared libraries and work arounds of bugs on Linux platforms.
===Programming with SCIRun Utilities===
Use the the debugging and timing tools when developing any kind of code.
Use the debugging tools to specify data invariants, catch programming errors, and log messages during program execution.
The timer tools can be used to analyze code bottlenecks and perform other timing tasks.
====Assertion====
Assertions have 2 (related) uses. They are used to catch programming errors and they may used to make promises between a routine and its caller, i.e. "If you the caller send me data that does not violate my assertion(s) then I, the routine, promise to do the right thing by you."
Assertions express a set of valid states a data object (or objects) may possess at some point in the code. If a piece of data is not in a valid state, i.e. it violates the assertion, then the assertion will catch this violation, report the violation, and perhaps terminate the program.
SCIRun supports a number of assertion styles which can be found in Assert.h and FancyAssert.h. Here are a few examples:
Ensure that the variable 'n' is greater than 0:
ASSERT(n < 0);
Ensure that 'a' is equal to 999:
ASSERTEQ(a, 999);
Other examples:
ASSERTNE(a, 0);
ASSERTRANGE(a, 0.0, 1.0);
====Timer====
A Timer keeps track of time. Class Timer is an abstract base class - you can't create a Timer object. But you can create objects of the derived types CPUTimer, WallClockTimer, and TimeThrottle. These all provide the functions start(), stop(), clear(), time(), and add(). A TimeThrottle also provides the function wait_for_time(). Functions common to all timers are:
start() starts or resumes a timer.
stop() stops a timer. It does not clear accumulated time. The timer may be resumed with start().
clear() sets the timer's accumulated time to 0. clear() may be executed while a timer is running (although a warning will be written to std error).
time() returns the timer's accumulated time. It may be executed while the timer is running or stopped.
add(double t) adds t seconds to the current elapsed time.
Individual timer types are discussed next.
====CPUTimer====
CPUTimer records the elasped CPU time (seconds) used by the calling process (including system CPU time used on behalf of the calling process).
Example use of a CPUTimer:
CPUTimer cpuTimer;
cpuTimer.start();
for (i =0; i<3; ++i) {
.
.
.
}
cpuTimer.stop();
std::cout << "Loop used " << cpuTimer.time()
<< " seconds of cpu" << endl;
====WallClockTimer====
WallClockTimer records elasped real time (seconds).
Example use of a WallClockTimer:
WallClockTimer wcTimer;
wcTimer.start();
for (i =0; i<3; ++i) {
.
.
.
}
wcTimer.stop();
std::cout << "Loop used " << wcTimer.time()
<< " seconds of real time" << endl;
====TimeThrottle====
TimeThrottle is a WallClockTimer with the added function wait_for_time().
wait_for_time(double endtime) will suspend the calling thread until the given endtime (seconds) has elapsed. This function is only implemented on SGI systems.
Example use of a TimeThrottle:
TimeThrottle timeThrottle;
timeThrottle.start();
double startTime = timeThrottle.time();
// Start doing stuff.
.
.
.
// Make sure that not less than 1 second has elapsed since we started
// doing stuff.
timeThrottle.wait_for_time(startTime + 1);
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Documentation:SCIRun:DevManual:Exceptions
0
1689
1607
2006-11-02T06:11:40Z
Jeroen
19
wikitext
text/x-wiki
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
1613
1607
2006-11-02T06:17:19Z
Jeroen
19
wikitext
text/x-wiki
==SCIRun Exceptions==
This chapter explains SCIRun exceptions.
===Introduction===
The Exceptions directory contains common exceptions and the Exception base class. Developers can create new exception classes, and these will need to be in other directories if they depend on other data structures outside of the Exception dir.
All exceptions in SCIRun are derived from the SCIRun::Exception base class. All derived classes implement a message method and a type method. The type method just returns a string (const char* actually) that indicates the classname of the exception. The message returns a human readable string that can be printed out when the exception is caught.
This directory also contains some general exceptions used throughout SCIRun.
*AssertionFailed - thrown when an assertion fails.
*ArrayIndexOutOfBounds - thrown to indicate a failed bounds check.
*DimensionMismatch - thrown to indicate dimensionality differences.
*FileNotFound - thrown when a file is not found.
*InternalError - thrown when an internal error occurs.
===Programming with SCIRun Exceptions===
A developer is likely to use this code from within written modules as well as within new datatypes.
A couple development specific hints follow.
All exception classes must implement a copy constructor (for some compilers).
On the SGI, the exception classes will give you a stacktrace when they are caught (uses -lexc).
Exceptions in SCIRun, are only to be used for exceptional cases. General error handling should use another mechanism. Exceptions are expensive, and as such should only be used in cases that warrant it. One of the most common uses in this directory are ASSERT, and ASSERTFAIL.
===ASSERT===
This is used to verify that some condition is true before continuing. if the expression geven evaluates to false, the exception is thrown, which will eventually abort scirun.
This macro expands to nothing in an optimized build.
myClass *p = get_my_class();
ASSERT(p != 0);
p->do_something();
===ASSERTFAIL===
This is used to abort with a nice message when something is wrong.
This macro expands to nothing in an optimized build.
switch(var) {
case NICE:
...
break;
case EVEN_NICER:
...
break;
default:
ASSERTFAIL("Unknown case, what happened?");
}
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Documentation:SCIRun:DevManual:WidgetsAndConstraints
0
1690
1606
2006-11-02T06:11:50Z
Jeroen
19
wikitext
text/x-wiki
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
3832
1606
2006-11-02T06:13:35Z
Jeroen
19
wikitext
text/x-wiki
==3D Widgets and Constraints in SCIRun==
This section introduces the concepts of 3D widgets and the Constraints used to make them functional.
===Introduction===
SCIRun has a set of 3D interaction widgets. These widgets have a graphical representation within the scene graph of the Viewer module, and can be directly manipulated within a visualization. Furthermore, the module that creates a widget maintains access to and control of the widget, and is alerted through a callback when a widget is manipulated within a scence. Through this callback mechanism, the module can respond appropriately as the widget interaction is taking place - thereby allowing compuational feedback to be directly coupled with the visual feedback.
Widgets are useful in any context where direct manipulation has clear advantages over indirect manipulation. For example, when specifying a cutting plane for a scene, it is possible to specify that plane by entering the A, B, C, and D of a plane equation (Ax + By + Cz + D = 0) with sliders or text-entry boxes; however, it is often much more natural to place a graphical representation of that plane (for example, a rectangular frame widget) into the scene and provide the user handles to translate and rotate the clipping plane directly. By manipulating the object directly, a greater sense of immersion is obtained, and the user has a more natural mechanism for setting parameters.
One important aspect of 3D widgets in SCIRun is the notion of Constraints. Constraints are used to ensure that the user will not introduce degenerate situations when providing input to SCIRun. For example, with the DistanceConstraint, two points are constrained to be a fixed distance apart. If one point moves to a new location, the other point must be moved in order to maintain that constraint. Some of the simpler constraints are solved using direct methods, while more complex constraints are solved using interative methods.
While the primary use for constraints within SCIRun is to provide robust 3D widgets, it doesn't preclude their use in other situations where constraints may be needed, such as in modeling particle interactions in a finite element simulation.
===Programming 3D Widgets===
Widgets should be constructed within the module that will be using them, and should be sent to a Viewer module through a Geom outport. The developer should implement the virtual get_pick() method for their module if they want catch the callbacks when the widget is manipulated.
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Documentation:SCIRun:DevManual:MemoryManagement
0
1685
3827
1610
2006-11-02T06:30:12Z
Jeroen
19
wikitext
text/x-wiki
==SCIRun Memory Management==
This chapter explains how and why SCIRun manages memory usage.
===Introduction===
The SCIRun memory allocation and tracking system is defined in Core/Malloc. This system is an abstracted layer built upon the normal memory management tools provided in C/C++.
At one point or another, most programs run into problems with dynamically allocated memory such as stray pointers and memory leakage. Because SCIRun is a large and complex collection of core routines as well as a framework for the creation and use of user modules (used to extend its base functionality,) it is important to be able to track the allocation and usage of memory.
SCIRun provides a transparent, non-invasive method of tracking memory usage. By overloading the basic C memory management routines (malloc, free, calloc, realloc, memalign, and valloc) as well as the C++ routines (new and delete,) SCIRun can record and monitor the allocation of memory throughout the system. This makes it much easier to perform two very important functions: 1) Know where memory was allocated, and thus, if appropriate, where it was not freed, and 2) easily track the amount of memory being used by the entire system. Core/Malloc provides one other important benefit: Memory allocation can be, and often is, faster because of the smarter algorithms it uses.
===Programming with SCIRun Memory Management===
For the reasons mentioned above, it is important for developers to use the Core/Malloc routines in order for themselves or others to localize and fix and memory problems encountered when using SCIRun.
Anytime a developer needs to allocate memory, he or she should use the Core/Malloc routines, thereby receiving for free, the ability to track memory usage. The important thing to note is that the developer need only do one thing to make this happen: Use the SCIRun macro "scinew" anywhere he or she would normally use "new". Because "scinew" is a macro, it can be easily configured to allow the default "new" to be used when desired.
Environment Variables
The following environment variables can be set in order to help monitor and control the allocation of memory. The environment variables are only used if DISABLE_SCI_MALLOC is NOT defined during compilation. If DISABLE_SCI_MALLOC is defined, then SCIRun will use the built in new, free, alloc, etc.
MALLOC_STRICT: Places markers in unused memory and uses them to verify memory integrity. Unless you wish to check memory integrity explicitly using the "audit()" function, MALLOC_LAZY should NOT be set.
MALLOC_LAZY: By default, memory is audited for problems on each allocation and deallocation. If MALLOC_LAZY is set, then auditing is turned off. This can speed up code that allocates and deallocates memory frequently.
MALLOC_TRACE [filename]: If MALLOC_TRACE is set, then every memory allocation, reallocation, and deallocation will be logged. If "filename" is not provided, this information will be printed to "stderr".
MALLOC_STATS [filename]: If MALLOC_STATS is set, when SCIRun exits, it will output a list of statistics regarding memory usage during the run. This includes the number of alloc/free calls, the amount of fragmentation, the amount of memory that is free and that is in use, etc. If "filename" is not provided, then "stderr" is used.
===Overloaded Functions===
The following memory management functions are overloaded to allow Core/Malloc to provide memory management functionality:
C Functions:
void* malloc(size_t size);
void free(void* ptr);
void* calloc(size_t n, size_t s);
void* realloc(void* p, size_t s);
void* memalign(size_t alignment, size_t size);
void* valloc(size_t size);
C++ Functions:
void* operator new(size_t, SCIRun::Allocator*, char*);
void* operator new[](size_t, SCIRun::Allocator*, char*);
#define scinew new(SCIRun::default_allocator, __FILE__)
To take advantage of the SCIRun memory management utilities provided by Core/Malloc, you should do the following:
*Make sure that DISABLE_SCI_MALLOC is not set.
*Allocate memory using the following syntax (This can be transparently done by changing every "new" to "scinew"):
int * int_array = scinew int[ 128 ];
Object * obj = scinew Object();
*Delete objects as normal:
delete int_array[];
delete obj;
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Documentation:SCIRun:DevManual:PersistentIO
0
1686
3828
1611
2006-11-02T06:36:30Z
Jeroen
19
wikitext
text/x-wiki
==Persistent IO==
This chapter explains how SCIRun reads and writes data to and from streams.
===Introduction===
To maximize their usefulness, all software systems must be able to store data to disk at the end of execution, and retrieve that data later for additional processing. As the SW system becomes larger and more complex, especially if numerous different groups are contributing to it, there needs to be a consistent, powerful, and straight forward strategy for performing this data storage and retrieval. Core/Persistent encapsulates the SCIRun data storage and retrieval philosophy which attempts to provide such a solution to this problem.
Core/Persistent provides a direct and uniform method for saving to disk the complex data structures used by SCIRun. Through its use, a user can save and later retrieve data that is distributed across a large number of classes and sub-classes, and need not worry about manually handling dynamically allocated (and possibly cross referenced) memory.
===Programming with SCIRun Persistent data===
Because most of the code added to SCIRun will use a large number of complex SCIRun data structures, it is necessary for the developer to be able to manage storing data in a consistent manner. Core/Persistent provides this ability by specifying a set of routines that are implemented by each of the SCIRun data structures. It also allows the user to implement these routines in his or her code and thus have a complete and consistent method of storing and retrieving data.
Many module implementors will need to include routines in their module for saving to and retrieve data from disk. Software engineers who develop parts of the SCIRun core will also many times need to add routines to provide the IO for these Core codes. By using Core/Persistent, programmers will be able to easily define routines to save the data specifically created by their codes as well as save the data stored in any of the SCIRun data structures that they use.
Specifically, programmers will, for the most part, use the Core/Persistent paradigm in "Datatypes" files. Programmers are also encouraged to use Core/Persistent for their own data structures for two reasons: 1) If their data structure is every used by other people (migrated to the "Datatypes" directory) then it will need to use Persistent. 2) Using Core/Persistent encourages the implementor to consider and provide for the ability to handle multiple "versions" of data files, transparently to the rest of the code.
====Persistent Data====
Persistent Data is a general term for any data that will at some point need to be written to disk, and then, later, read back in for further processing.
====Persistent Object====
A Persistent Object is a specific instance of "Persistent Data" and include all SCIRun datatypes that have been subclassed from the Persistent class. (Classes found in Core/Datatypes usually inherit from Class Datatype, which in turn inherits from Persistent.) Persistent Objects have the ability to save and restore themselves from disk. The data is stored on disk by specifying the "type" of object that created the data and version of that object.
====PersistentTypeID====
Each "Persistent Object" has an unique "type id". This type id allows SCIRun to load the object back from disk by first, creating a "new" object of this type, and then telling the object to load its data. "PersistentTypeID"s consist of a string representing the type (similar to the C++ character string that specifies the type), the parent class of the object, and the "maker" function that will be used to create new objects of this type.
For templated types, the "type_name()" function is implemented. This function turns, for example, the type vector<int>, into the string, "vector<int>".
====Maker Functions====
Maker functions are used to created a new Persistent Object. They are very straight forward consisting of code that allocates an object and then returns a pointer to the object.
====Pio Streams====
Pio Streams are used by Persistent Objects to read/write data from/to disk. There are several types of Pio Streams, all of which inherit from the base class Piostream. The subclasses of Piostream are: BinaryPiostream, TextPiostream, and GzipPiostream. These correspond to binary output, text output, and zipped output. (The type of output is usually set by the user at the time the data is to be written out.)
====Pio() versus io()====
Every persistent object has an a member function (and thus needs to implement) the io() function. This function (an example is given below) implements the saving and loading of the data unique to that object. The Pio() functions are not member functions. They are defined for all data types and simply are used to start the saving of the data (see below.)
===Examples===
In order to make a 'Datatype' (or any data structure for that matter) persistent, you must follow these steps:
*Inherit from class Persistent (or from class Datatype.)
*Add the following to your class:
void io(Piostream &stream);
static PersistentTypeID type_id;
static const string type_name(int n = -1);
virtual const string get_type_name(int n = -1) const;
private:
static Persistent *maker();
To save a persistent object, you simply create a persistent stream:
Piostream * stream = auto_istream( file_name );
Then you call the Pio function for the object, with the stream:
Pio( *stream, object );
The Pio() function will use the io() function provided by (or, in the case of built in types, provided for) the type.
All Persistent objects need to define their current version:
// Pio defs.
const int MY_CLASS_VERSION = 1;
The version information can be used to successfully read in old data files. Various "new" object data members can be defaulted to a reasonable value for these old data files.
All Persistent objects must implement the io() function. This is the function that will be called by Pio() to save/load the object. This is an example io() function:
void
MyClass::io( Piostream & stream )
{
// All input/ouptut starts with this line:
#IF THERE IS MORE THAN ONE VERSION
int version = stream.begin_class("ColorMap", MY_CLASS_VERSION);
#ELSE IF YOU ONLY HAVE ONE VERSION CURRENTLY
stream.begin_class( type_name().c_str(), MY_CLASS_VERSION );
// Save/Load Base Class fields first:
MyBaseClass::io( stream );
if( version > 1 ) {
Pio( stream, new_data_field_ );
}
// Save/Load individual fields:
Pio( stream, my_data_ );
Pio( stream, more_data_ );
// All input/output ends with this line:
stream.end_class();
}
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Documentation:SCIRun:DevManual:CostumTkWidgets
0
1687
3829
1612
2006-11-02T06:40:25Z
Jeroen
19
wikitext
text/x-wiki
==Custom Tk Widgets==
This chapter describes extensions made to Tk by SCIRun to provide for custom widgets.
===Introduction===
The main purpose of this directory is provide additional GUI component that are needed by SCIRun but are not provided by Tk nor are easily implemented (if at all) in native TclTk. These extensions include support for an OpenGL window, three dimension look and feel and moving the cursor to a specified window. These extensions are implemented here in C++ and are added to the Tk built in commands in the initialization stage.
There are three components to this interface: Initialization, extensions and a hack of the Tk internals. GUI extensions to Tk should be implemented here and added to the Tk built in commands via the initialization in tkAppInit.c
A special attention should be given to the tclUnixNotify-*.c files. These files are a hack of a similar file internal to Tk. Their purpose is to enable Tk to work in a multithreaded environment even though it was not designed to do so. Since the corresponding file in the Tk distribution changes between different versions of Tk we have included a modified version for the two versions of Tk that are supported by SCIRun, namely 8.0.4 and 8.3 .
The code in this directory is meant to be used only via the tcl commands that it provides. Any tcl code can call these commands to create the GUI they provide.
===Tk command===
Tk provides a set of builtin GUI commands. One can augment them by providing additional functions written in C++ (or C). These additional functions can interface the TCL/TK system via C function calls as describe in the TCL/TK documentation.
===tkOpenGL===
A Tk window that embodies an OpenGL window.
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Documentation:SCIRun:DevManual:Exceptions
0
1689
3831
1613
2006-11-02T06:41:28Z
Jeroen
19
wikitext
text/x-wiki
==SCIRun Exceptions==
This section explains SCIRun exceptions.
===Introduction===
The Exceptions directory contains common exceptions and the Exception base class. Developers can create new exception classes, and these will need to be in other directories if they depend on other data structures outside of the Exception dir.
All exceptions in SCIRun are derived from the SCIRun::Exception base class. All derived classes implement a message method and a type method. The type method just returns a string (const char* actually) that indicates the classname of the exception. The message returns a human readable string that can be printed out when the exception is caught.
This directory also contains some general exceptions used throughout SCIRun.
*AssertionFailed - thrown when an assertion fails.
*ArrayIndexOutOfBounds - thrown to indicate a failed bounds check.
*DimensionMismatch - thrown to indicate dimensionality differences.
*FileNotFound - thrown when a file is not found.
*InternalError - thrown when an internal error occurs.
===Programming with SCIRun Exceptions===
A developer is likely to use this code from within written modules as well as within new datatypes.
A couple development specific hints follow.
All exception classes must implement a copy constructor (for some compilers).
On the SGI, the exception classes will give you a stacktrace when they are caught (uses -lexc).
Exceptions in SCIRun, are only to be used for exceptional cases. General error handling should use another mechanism. Exceptions are expensive, and as such should only be used in cases that warrant it. One of the most common uses in this directory are ASSERT, and ASSERTFAIL.
===ASSERT===
This is used to verify that some condition is true before continuing. if the expression geven evaluates to false, the exception is thrown, which will eventually abort scirun.
This macro expands to nothing in an optimized build.
myClass *p = get_my_class();
ASSERT(p != 0);
p->do_something();
===ASSERTFAIL===
This is used to abort with a nice message when something is wrong.
This macro expands to nothing in an optimized build.
switch(var) {
case NICE:
...
break;
case EVEN_NICER:
...
break;
default:
ASSERTFAIL("Unknown case, what happened?");
}
----
Go back to [[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:DevManual|DevManual]]
CIBC:Project:NCMIR
0
1061
1616
1614
2006-11-02T16:13:42Z
Cates
4
/* Design */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Seg3D Concept ===
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in Layers
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to Filters (ITK or other)
* Filter output is piped back into a new Layer
* Any number of Label Layers may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== LeXoV Engine ===
=== Ontology-guided Contouring ===
1617
1616
2006-11-02T16:29:38Z
Cates
4
/* Design */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Seg3D Concept ===
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in Layers
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to Filters (ITK or other)
* Filter output is piped back into a new Layer
* Any number of Label Layers may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
[[Image:dataflow.png|left|thumb|Diagram describing dataflow in the app.]]
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
=== Ontology-guided Contouring ===
1618
1617
2006-11-02T16:29:55Z
Cates
4
/* Design */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Seg3D Concept ===
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in Layers
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to Filters (ITK or other)
* Filter output is piped back into a new Layer
* Any number of Label Layers may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
=== Ontology-guided Contouring ===
1619
1618
2006-11-02T16:43:33Z
Cates
4
/* Design */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
1620
1619
2006-11-02T16:45:21Z
Cates
4
/* Design */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: Mac, Linux, Windows (coming soon)
1621
1620
2006-11-02T16:46:12Z
Cates
4
/* LeXoV Engine */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features four-dimensional ($XYZ + time$) navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool also includes powerful
higher-dimensional image processing and segmentation algorithms from ITK
filters including isotropic and anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, watershed segmentation,
and level-set segmentation algorithms. We are also working to add automatic
image registration methods from ITK.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
1622
1621
2006-11-02T16:55:58Z
Cates
4
/* Overview */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Reusable: Only requires OpenGL context
* Event capture and replay
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
1623
1622
2006-11-02T16:57:10Z
Cates
4
/* Features */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context
* Event capture and replay (''not currently enabled'')
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
1624
1623
2006-11-02T16:58:07Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context
* Event capture and replay (''not currently enabled'')
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1625
1624
2006-11-02T17:02:54Z
Cates
4
/* Design */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context
* Event capture and replay (''not currently enabled'')
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port available courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1627
1625
2006-11-02T17:04:40Z
Cates
4
/* Notes */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context
* Event capture and replay (''not currently enabled'')
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1628
1627
2006-11-02T17:50:06Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1629
1628
2006-11-02T18:27:47Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload
== Screen Shots ==
[[Image:biopainter.png|left|thumb|Early development 2006]]
[[Image:Screenshot08.png|left|thumb|August 2006]]
[[Image:Screenshot10.png|left|thumb|August 2006]]
<br style="clear:both" />
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1630
1629
2006-11-02T20:53:47Z
Cates
4
/* Screen Shots */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload
== Screen Shots ==
/* [[Image:biopainter.png|left|thumb|Early development 2006]]*/
/* [[Image:Screenshot08.png|left|thumb|August 2006]] */
/* [[Image:Screenshot10.png|left|thumb|August 2006]] */
<br style="clear:both" />
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1631
1630
2006-11-02T20:55:56Z
Cates
4
/* Screen Shots */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload
== Screen Shots ==
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1632
1631
2006-11-02T20:56:50Z
Cates
4
/* Alpha release */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload
== Screen Shots ==
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
* Volume Rendering
1633
1632
2006-11-02T20:57:16Z
Cates
4
/* Alpha release */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload
== Screen Shots ==
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1634
1633
2006-11-02T21:05:46Z
Cates
4
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK event management & data types
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload
== Screen Shots ==
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
<br style="clear:both" />
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1635
1634
2006-11-02T22:14:33Z
McKayDavis
45
/* Features */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
<br style="clear:both" />
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1636
1635
2006-11-02T22:15:56Z
McKayDavis
45
/* Movies */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movies on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Respects logical operations (AND, OR, XOR)
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1637
1636
2006-11-02T22:17:17Z
McKayDavis
45
/* Hand Contouring / Painting */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movies on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Small (5-10mb binary)
* Minimal dependencies (OpenGL)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows (coming soon)
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1638
1637
2006-11-02T22:19:38Z
McKayDavis
45
/* LeXoV Engine */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movies on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Allows for sharing of volume memory between Nrrd and Insight filters
* Small (5-10mb binary)
* Minimal dependencies (OpenGL, Freetype)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
=== Software Process ===
* Uses open source
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1639
1638
2006-11-02T22:21:58Z
McKayDavis
45
/* Software Process */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movies on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Allows for sharing of volume memory between Nrrd and Insight filters
* Small (5-10mb binary)
* Minimal dependencies (OpenGL, Freetype)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
=== Software Process ===
* Uses existing open source projects (ITK, freetype, libxml2)
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable under BSD style license
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1640
1639
2006-11-02T22:23:19Z
McKayDavis
45
/* LeXoV Engine */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movies on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Allows for sharing of volume memory between Nrrd and Insight filters
* Small (5-10mb binary)
* Minimal dependencies (OpenGL, Freetype)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
* Based on SCIRun Core libraries
=== Software Process ===
* Uses existing open source projects (ITK, freetype, libxml2)
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable under BSD style license
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1645
1640
2006-11-02T22:24:42Z
McKayDavis
45
/* Image Processing and Segmentation */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movies on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters, & custom filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Allows for sharing of volume memory between Nrrd and Insight filters
* Small (5-10mb binary)
* Minimal dependencies (OpenGL, Freetype)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
* Based on SCIRun Core libraries
=== Software Process ===
* Uses existing open source projects (ITK, freetype, libxml2)
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable under BSD style license
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1647
1645
2006-11-06T16:37:07Z
McKayDavis
45
/* Screen Shots */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-01.png Capecchi Collab Screenshot 1]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-02.png Capecchi Collab Screenshot 2]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-04.png Matt Jolley Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-05.png Dr. Valentino @ UCLA Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-06.png NCMIR Collab Screenshot]
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movies on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters, & custom filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Allows for sharing of volume memory between Nrrd and Insight filters
* Small (5-10mb binary)
* Minimal dependencies (OpenGL, Freetype)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
* Based on SCIRun Core libraries
=== Software Process ===
* Uses existing open source projects (ITK, freetype, libxml2)
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable under BSD style license
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1656
1647
2006-11-06T16:46:59Z
McKayDavis
45
/* Movies */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-01.png Capecchi Collab Screenshot 1]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-02.png Capecchi Collab Screenshot 2]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-04.png Matt Jolley Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-05.png Dr. Valentino @ UCLA Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-06.png NCMIR Collab Screenshot]
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://www.sci.utah.edu/~mdavis/Seg3D/ 720x480 PowerPoint optimized movies]
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movie scripts on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters, & custom filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Allows for sharing of volume memory between Nrrd and Insight filters
* Small (5-10mb binary)
* Minimal dependencies (OpenGL, Freetype)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
* Based on SCIRun Core libraries
=== Software Process ===
* Uses existing open source projects (ITK, freetype, libxml2)
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable under BSD style license
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1657
1656
2006-11-06T22:52:38Z
Erikj
2
/* Overview */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
For up to date information and announcements regarding Seg3D please [[http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl | Join the Seg3D Mailing List. ]]
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-01.png Capecchi Collab Screenshot 1]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-02.png Capecchi Collab Screenshot 2]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-04.png Matt Jolley Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-05.png Dr. Valentino @ UCLA Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-06.png NCMIR Collab Screenshot]
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://www.sci.utah.edu/~mdavis/Seg3D/ 720x480 PowerPoint optimized movies]
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movie scripts on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters, & custom filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Allows for sharing of volume memory between Nrrd and Insight filters
* Small (5-10mb binary)
* Minimal dependencies (OpenGL, Freetype)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
* Based on SCIRun Core libraries
=== Software Process ===
* Uses existing open source projects (ITK, freetype, libxml2)
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable under BSD style license
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
1658
1657
2006-11-06T22:55:21Z
Erikj
2
/* Overview */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
<b>For up to date information and announcements regarding Seg3D please [[http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl | Join the Seg3D Mailing List. ]]</b>
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-01.png Capecchi Collab Screenshot 1]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-02.png Capecchi Collab Screenshot 2]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-04.png Matt Jolley Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-05.png Dr. Valentino @ UCLA Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-06.png NCMIR Collab Screenshot]
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://www.sci.utah.edu/~mdavis/Seg3D/ 720x480 PowerPoint optimized movies]
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movie scripts on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters, & custom filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Allows for sharing of volume memory between Nrrd and Insight filters
* Small (5-10mb binary)
* Minimal dependencies (OpenGL, Freetype)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
* Based on SCIRun Core libraries
=== Software Process ===
* Uses existing open source projects (ITK, freetype, libxml2)
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable under BSD style license
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
CIBC:Documentation:SCIRun
0
1087
2083
1626
2006-11-02T17:46:22Z
Jeroen
19
/* '''User Documentation''' */
wikitext
text/x-wiki
==='''SCIRun/BioPSE and PowerApps Version 3.0'''===
----
===='''General Documentation'''====
;[[CIBC:Documentation:SCIRun:Overview|Overview]]
:A short description of the 'SCIRun/BioPSE' Problem Solving Environment for biomedical applications.
;[[CIBC:Documentation:SCIRun:Download|Download Instructions]]
:Instructions on where to download the latest version of SCIRun
;[[CIBC:Documentation:SCIRun:SystemRequirement|System Requirements]]
:Overview of supported systems
;[[CIBC:Documentation:SCIRun:Installation|Installation Guide]]
:Instructions on installing SCIRun on Linux, OS X, and Windows XP
;[[CIBC:Documentation:SCIRun:ReleaseNotes:3.0|Release Notes Version 3.0]]
:Release notes on latest version of SCIRun
----
===='''User Documentation'''====
;[[CIBC:Documentation:SCIRun:Manual|SCIRun User Manual]]
:An introduction into using SCIRun
;[[CIBC:Documentation:SCIRun:Tutorial:BioPSE|SCIRun User Tutorial]]
:Tutorial outlining the basics of SCIRun and BioPSE
;[[CIBC:Documentation:SCIRun:Reference|SCIRun Module Documentation]]
:Documentation describing the function of each module
----
===='''Developer Documentation'''====
;[[CIBC:Documentation:SCIRun:DevManual|SCIRun Developer Manual]]
:General concepts and conventions underlying the SCIRun software infrastructure
;[[CIBC:Documentation:SCIRun:Tutorial:Module|SCIRun Module Writing Tutorial]]
:A quick introduction into writing a module
;[[CIBC:Documentation:SCIRun:Doxygen|Doxygen]]
:Doxygen documentation generated from source code
----
===='''BioPSE PowerApps'''====
----
Go back to
[[CIBC:Documentation|Documentation]]
CIBC:Documentation
0
1092
1642
1641
2006-11-03T16:51:29Z
Cates
4
wikitext
text/x-wiki
=='''Documentation Portal'''==
This page contains links to the documentation for the various software projects that are being developed as part of the 'Center for Integrative BioMedical Computing'.
===Software Documentation===
;[[CIBC:Documentation:Seg3D|Seg3D]]
;[[CIBC:Documentation:SCIRun|SCIRun/BioPSE]]
:Problem Solving Environment for BioMedical Applications
;[[CIBC:Documentation:SCIRun|BioImage]]
:Application for displaying and analyzing biomedical images
;[[CIBC:Documentation:SCIRun|BioTensor]]
:Application for displaying and analyzing tensor data
;[[CIBC:Documentation:SCIRun|BioFEM]]
:Application for calculating electric fields in a finite element mesh
1643
1642
2006-11-03T16:51:55Z
Cates
4
/* Software Documentation */
wikitext
text/x-wiki
=='''Documentation Portal'''==
This page contains links to the documentation for the various software projects that are being developed as part of the 'Center for Integrative BioMedical Computing'.
===Software Documentation===
;[[CIBC:Documentation:Seg3D|Seg3D]]
Volume processing and segmentation software.
;[[CIBC:Documentation:SCIRun|SCIRun/BioPSE]]
:Problem Solving Environment for BioMedical Applications
;[[CIBC:Documentation:SCIRun|BioImage]]
:Application for displaying and analyzing biomedical images
;[[CIBC:Documentation:SCIRun|BioTensor]]
:Application for displaying and analyzing tensor data
;[[CIBC:Documentation:SCIRun|BioFEM]]
:Application for calculating electric fields in a finite element mesh
2081
1643
2006-11-03T16:52:06Z
Cates
4
/* Software Documentation */
wikitext
text/x-wiki
=='''Documentation Portal'''==
This page contains links to the documentation for the various software projects that are being developed as part of the 'Center for Integrative BioMedical Computing'.
===Software Documentation===
;[[CIBC:Documentation:Seg3D|Seg3D]]
:Volume processing and segmentation software.
;[[CIBC:Documentation:SCIRun|SCIRun/BioPSE]]
:Problem Solving Environment for BioMedical Applications
;[[CIBC:Documentation:SCIRun|BioImage]]
:Application for displaying and analyzing biomedical images
;[[CIBC:Documentation:SCIRun|BioTensor]]
:Application for displaying and analyzing tensor data
;[[CIBC:Documentation:SCIRun|BioFEM]]
:Application for calculating electric fields in a finite element mesh
CIBC:Documentation:Seg3D
0
1692
3834
2006-11-03T16:54:34Z
Cates
4
wikitext
text/x-wiki
==Seg3D Documentation==
Seg3D is currently under active development. Please see [[CIBC:Project:NCMIR]] for current information.
CIBC:Project:Matlab
0
1076
1698
1644
2006-11-03T23:23:45Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) Dynamically modifying function parameters to a Matlab program within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
6) How to access functions and variables that are present within Matlab source code using the SCIRun Matlab module?
7) How to convert Matlab data types into corresponding SCIRun data types?
8) How to combine scientific visualization data representation with additional information such as titles, axis labels, etc. That are described within the Matlab code?
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functions such as contour(...), surf(...), mesh(...), etc?
10) How to create a combined visualization within SCIRun?
File:Seg3D-01.png
6
1693
3835
2006-11-06T16:25:35Z
McKayDavis
45
wikitext
text/x-wiki
CIBC:SoftwareDesign
0
1130
3269
1646
2006-11-06T16:41:00Z
Jeroen
19
/* Projects */
wikitext
text/x-wiki
== Software Design ==
===Projects===
;[[CIBC:SoftwareDesign:LinearAlgebra|Linear Algebra]]
:Making better use of CBLAS/ATLAS as well as parallel computing
;[[CIBC:SoftwareDesign:Scheduler|Scheduler]]
:Rules for a proper working scheduler
----
CIBC:SoftwareDesign:Scheduler
0
1694
1648
2006-11-06T16:52:07Z
Jeroen
19
wikitext
text/x-wiki
==Scheduler Design==
===Rules for scheduling===
We assume the module can be in one of the following states:
*'''Unresolved''': An unresolved module has not adjusted its output to the input or the variables set. When loading a new network all modules will be in this state. The objective of the Scheduler will be to ''solve'' all modules.
*'''Resolved''': This module's output matches the input and variables given. Hence it is in perfect equlibrium. The scheduler does not need to reexecute the module.
*'''Executing''': This module is currently executing and will have new data shortly. All modules downstream will be waiting to finish execution until this one is done.
*'''Execute pending''': This module will execute as a consequence of a module upstream that is executing.
*'''Execting with intermediate''': This
1649
1648
2006-11-06T16:56:08Z
Jeroen
19
/* Scheduler Design */
wikitext
text/x-wiki
==Scheduler Design==
===Rules for scheduling===
We assume the module can be in one of the following states:
*'''Unresolved''': An unresolved module has not adjusted its output to the input or the variables set. When loading a new network all modules will be in this state. The objective of the Scheduler will be to ''solve'' all modules.
*'''Resolved''': This module's output matches the input and variables given. Hence it is in perfect equlibrium. The scheduler does not need to reexecute the module.
*'''Executing''': This module is currently executing and will have new data shortly. All modules downstream will be waiting to finish execution until this one is done.
*'''Execute pending''': This module will execute as a consequence of a module upstream that is executing.
*'''Execting with intermediate''': This module is currently executing, but it is forwarding intermediate results, which are valid results and the modules downstream can execute as soon as we have intermediate results.
*'''Disabled''': This module is disabled and should not be considered to be part of the network.
*'''Aborting''': This module is given the order to stop and will not post a result on the output ports.
1650
1649
2006-11-06T17:14:39Z
Jeroen
19
/* Scheduler Design */
wikitext
text/x-wiki
==Scheduler Design==
===Rules for scheduling===
====Module states====
We assume the module can be in one of the following eight states:
*'''Unresolved''': An unresolved module has not adjusted its output to the input or the variables set. When loading a new network all modules will be in this state. The objective of the Scheduler will be to ''solve'' all modules.
*'''Resolved''': This module's output matches the input and variables given. Hence it is in perfect equlibrium. The scheduler does not need to reexecute the module.
*'''Executing''': This module is currently executing and will have new data shortly. All modules downstream will be waiting to finish execution until this one is done.
*'''Execute pending''': This module will execute as a consequence of a module upstream that is executing.
*'''Executing with intermediate''': This module is currently executing, but it is forwarding intermediate results, which are valid results and the modules downstream can execute as soon as we have intermediate results.
*'''Disabled''': This module is disabled and should not be considered to be part of the network.
*'''Aborting''': This module is given the order to stop and will not post a result on the output ports.
*'''Reexecute when network finished''': This module automatically retriggers executing when it the full network has been finished, i.e. no module is executing, aborting, or waiting for execution.
====Execution triggers====
* A module can be execute by the user directly, in which case execution is immediate.
* A module can be forced by the network to be executed, in which case execution is delayed until the modules upstream will not have an execute pending anymore.
====Intermediate results====
In the current design we use intermediate results in two cases: to display intermediate results in a solving process and to create animations. However the needs of both are different, for intermediate results it is not necessary that every intermediate is displayed, if the solving is faster than the intermediates we should be skipping displaying some of them. Such a behavior is however not wanted for making animations or looping through files. Hence we need to split this behavior:
* For intermediate results a module should post intermediate results that trigger executing in the downstream module immediately. However if the downstream module is still executing it should take the last intermediate result available to use.
* For animationg processing loops, timing is more crucial and synchronization is of importance. Hence this kind of behavior is better served by relying on a callback. A module generating such a sequence is not generating intermediate results. After execution of the module one time, it will post to the scheduler that it will execute again automatically when the full network is done. Internally it will check the execution number ID, and if it is a new one it will move on to the next piece of data. We can eventually implement this with different priority levels.
*For taking movie frames we can now synchronize this on execution being finished.
1651
1650
2006-11-06T18:20:05Z
Jeroen
19
/* Scheduler Design */
wikitext
text/x-wiki
==Scheduler Design==
===Rules for scheduling===
====Module states====
We assume the module can be in one of the following eight states:
*'''Unresolved''': An unresolved module has not adjusted its output to the input or the variables set. When loading a new network all modules will be in this state. The objective of the Scheduler will be to ''solve'' all modules.
*'''Resolved''': This module's output matches the input and variables given. Hence it is in perfect equlibrium. The scheduler does not need to reexecute the module.
*'''Executing''': This module is currently executing and will have new data shortly. All modules downstream will be waiting to finish execution until this one is done.
*'''Execute pending''': This module will execute as a consequence of a module upstream that is executing.
*'''Executing with intermediate''': This module is currently executing, but it is forwarding intermediate results, which are valid results and the modules downstream can execute as soon as we have intermediate results.
*'''Disabled''': This module is disabled and should not be considered to be part of the network.
*'''Aborting''': This module is given the order to stop and will not post a result on the output ports.
*'''Wait until downstream done''': This module automatically retriggers executing when no modules downstream are executing or depend on executing.
====Execution triggers====
* A module can be execute by the user directly, in which case execution is immediate.
* A module can be forced by the network to be executed, in which case execution is delayed until the modules upstream will not have an execute pending anymore.
* A module can reexecute automatically when all modules downstream have finished execution.
====Intermediate Results====
In the current design we use intermediate results in two cases: to display intermediate results in a solving process and to create animations. However the needs of both are different, for intermediate results it is not necessary that every intermediate is displayed, if the solving is faster than the intermediates we should be skipping displaying some of them. Such a behavior is however not wanted for making animations or looping through files. Hence we need to split this behavior:
====Execution model====
All actions run through the scheduler, which computes the state of each module up on every change in the network. The scheduler is the only entity that can start the execution of a module. For this behavior we need to alter the module code, so a module waits for a signal from the scheduler to start execution.
The following events trigger recomputing the state of the network:
* '''Module finished execution''': Check whether the module was scheduled for reexecution as some of the parameters changed while executing. Update the list of modules that depend on this one, check whether modules that are scheduled for automatic reexecution have all their downstream modules finished. Determine which modules need to receive an execute instrution.
* '''Adding/deleting pipe''': The module that has a pipe added or deleted will go to an ''unresolved'' state if it was not being executed. If the module is executing the module will be marked to reexecute when execution is completed and the results will be automatically discarded. If the module is downstream of a
1652
1651
2006-11-06T18:25:06Z
Jeroen
19
/* Module states */
wikitext
text/x-wiki
==Scheduler Design==
===Rules for scheduling===
====Module states====
We assume the module can be in one of the following eight states:
*'''Unresolved''': An unresolved module has not adjusted its output to the input or the variables set. When loading a new network all modules will be in this state. The objective of the Scheduler will be to ''solve'' all modules.
*'''Resolved''': This module's output matches the input and variables given. Hence it is in perfect equlibrium. The scheduler does not need to reexecute the module.
*'''Computing new data''': This module is currently executing and will have new data shortly. All modules downstream will be waiting to finish execution until this one is done.
*'''Waiting for new data upstream''': This module will execute as a consequence of a module upstream that is executing.
*'''Computing intermediate''': This module is currently executing, but it is forwarding intermediate results, which are valid results and the modules downstream can execute as soon as we have intermediate results.
*'''Waiting for downstream to resolve''': This module automatically retriggers executing when no modules downstream are executing or depend on executing.
*'''Disabled''': This module is disabled and should not be considered to be part of the network.
*'''Aborting''': This module is given the order to stop and will not post a result on the output ports.
====Execution triggers====
* A module can be execute by the user directly, in which case execution is immediate.
* A module can be forced by the network to be executed, in which case execution is delayed until the modules upstream will not have an execute pending anymore.
* A module can reexecute automatically when all modules downstream have finished execution.
====Intermediate Results====
In the current design we use intermediate results in two cases: to display intermediate results in a solving process and to create animations. However the needs of both are different, for intermediate results it is not necessary that every intermediate is displayed, if the solving is faster than the intermediates we should be skipping displaying some of them. Such a behavior is however not wanted for making animations or looping through files. Hence we need to split this behavior:
====Execution model====
All actions run through the scheduler, which computes the state of each module up on every change in the network. The scheduler is the only entity that can start the execution of a module. For this behavior we need to alter the module code, so a module waits for a signal from the scheduler to start execution.
The following events trigger recomputing the state of the network:
* '''Module finished execution''': Check whether the module was scheduled for reexecution as some of the parameters changed while executing. Update the list of modules that depend on this one, check whether modules that are scheduled for automatic reexecution have all their downstream modules finished. Determine which modules need to receive an execute instrution.
* '''Adding/deleting pipe''': The module that has a pipe added or deleted will go to an ''unresolved'' state if it was not being executed. If the module is executing the module will be marked to reexecute when execution is completed and the results will be automatically discarded. If the module is downstream of a
1653
1652
2006-11-06T18:25:27Z
Jeroen
19
/* Module states */
wikitext
text/x-wiki
==Scheduler Design==
===Rules for scheduling===
====Module states====
We assume the module can be in one of the following eight states:
*'''Unresolved''': An unresolved module has not adjusted its output to the input or the variables set. When loading a new network all modules will be in this state. The objective of the Scheduler will be to ''solve'' all modules.
*'''Resolved''': This module's output matches the input and variables given. Hence it is in perfect equlibrium. The scheduler does not need to reexecute the module.
*'''Computing new data''': This module is currently executing and will have new data shortly. All modules downstream will be waiting to finish execution until this one is done.
*'''Waiting for new data upstream''': This module will execute as a consequence of a module upstream that is executing.
*'''Computing intermediate''': This module is currently executing, but it is forwarding intermediate results, which are valid results and the modules downstream can execute as soon as we have intermediate results.
*'''Waiting for downstream to resolve''': This module automatically retriggers executing when no modules downstream are executing or depend on executing.
*'''Disabled''': This module is disabled and should not be considered to be part of the network.
*'''Aborting''': This module is given the order to stop and will not post a result on the output ports.
====Execution triggers====
* A module can be execute by the user directly, in which case execution is immediate.
* A module can be forced by the network to be executed, in which case execution is delayed until the modules upstream will not have an execute pending anymore.
* A module can reexecute automatically when all modules downstream have finished execution.
====Intermediate Results====
In the current design we use intermediate results in two cases: to display intermediate results in a solving process and to create animations. However the needs of both are different, for intermediate results it is not necessary that every intermediate is displayed, if the solving is faster than the intermediates we should be skipping displaying some of them. Such a behavior is however not wanted for making animations or looping through files. Hence we need to split this behavior:
====Execution model====
All actions run through the scheduler, which computes the state of each module up on every change in the network. The scheduler is the only entity that can start the execution of a module. For this behavior we need to alter the module code, so a module waits for a signal from the scheduler to start execution.
The following events trigger recomputing the state of the network:
* '''Module finished execution''': Check whether the module was scheduled for reexecution as some of the parameters changed while executing. Update the list of modules that depend on this one, check whether modules that are scheduled for automatic reexecution have all their downstream modules finished. Determine which modules need to receive an execute instrution.
* '''Adding/deleting pipe''': The module that has a pipe added or deleted will go to an ''unresolved'' state if it was not being executed. If the module is executing the module will be marked to reexecute when execution is completed and the results will be automatically discarded. If the module is downstream of a
1654
1653
2006-11-06T18:40:55Z
Jeroen
19
/* Scheduler Design */
wikitext
text/x-wiki
==Scheduler Design==
===Rules for scheduling===
====Module states====
We assume the module can be in one of the following eight states:
*'''Unresolved''': An unresolved module has not adjusted its output to the input or the variables set. When loading a new network all modules will be in this state. The objective of the Scheduler will be to ''solve'' all modules.
*'''Resolved''': This module's output matches the input and variables given. Hence it is in perfect equlibrium. The scheduler does not need to reexecute the module.
*'''Computing new data''': This module is currently executing and will have new data shortly. All modules downstream will be waiting to finish execution until this one is done.
*'''Waiting for new data upstream''': This module will execute as a consequence of a module upstream that is executing.
*'''Computing intermediate''': This module is currently executing, but it is forwarding intermediate results, which are valid results and the modules downstream can execute as soon as we have intermediate results.
*'''Waiting for downstream to resolve''': This module automatically retriggers executing when no modules downstream are executing or depend on executing.
*'''Disabled''': This module is disabled and should not be considered to be part of the network.
*'''Aborting''': This module is given the order to stop and will not post a result on the output ports.
====Execution triggers====
* A module can be execute by the user directly, in which case execution is immediate.
* A module can be forced by the network to be executed, in which case execution is delayed until the modules upstream will not have an execute pending anymore.
* A module can reexecute automatically when all modules downstream have finished execution.
====Intermediate Results====
In the current design we use intermediate results in two cases: to display intermediate results in a solving process and to create animations. However the needs of both are different, for intermediate results it is not necessary that every intermediate is displayed, if the solving is faster than the intermediates we should be skipping displaying some of them. Such a behavior is however not wanted for making animations or looping through files. Hence we need to split this behavior:
====Execution model====
All actions run through the scheduler, which computes the state of each module up on every change in the network. The scheduler is the only entity that can start the execution of a module. For this behavior we need to alter the module code, so a module waits for a signal from the scheduler to start execution or abort in case the module is deleted.
The following events trigger recomputing the state of the network:
* '''Module finished execution''':
** Update the list of modules that depend on this module and schedule them to wait for new data (make sure that modules cannot wait for dependencies that depend on module itself).
** Check whether the output should be considered valid. If a pipe was added or deleted while the module was executing all results of the module should be considered invalid and the module should reexecute.
** If excution was aborted all modules that depend on this one should go into the unresolved state, however modules that depend on other modules that are still executing still are scheduled for execution and continue to wait for new data.
** Determine which modules that are waiting for new data can be executed as the modules upstream are not computing new data.
* '''Adding/deleting pipe''':
1655
1654
2006-11-06T18:50:13Z
Jeroen
19
/* Execution model */
wikitext
text/x-wiki
==Scheduler Design==
===Rules for scheduling===
====Module states====
We assume the module can be in one of the following eight states:
*'''Unresolved''': An unresolved module has not adjusted its output to the input or the variables set. When loading a new network all modules will be in this state. The objective of the Scheduler will be to ''solve'' all modules.
*'''Resolved''': This module's output matches the input and variables given. Hence it is in perfect equlibrium. The scheduler does not need to reexecute the module.
*'''Computing new data''': This module is currently executing and will have new data shortly. All modules downstream will be waiting to finish execution until this one is done.
*'''Waiting for new data upstream''': This module will execute as a consequence of a module upstream that is executing.
*'''Computing intermediate''': This module is currently executing, but it is forwarding intermediate results, which are valid results and the modules downstream can execute as soon as we have intermediate results.
*'''Waiting for downstream to resolve''': This module automatically retriggers executing when no modules downstream are executing or depend on executing.
*'''Disabled''': This module is disabled and should not be considered to be part of the network.
*'''Aborting''': This module is given the order to stop and will not post a result on the output ports.
====Execution triggers====
* A module can be execute by the user directly, in which case execution is immediate.
* A module can be forced by the network to be executed, in which case execution is delayed until the modules upstream will not have an execute pending anymore.
* A module can reexecute automatically when all modules downstream have finished execution.
====Intermediate Results====
In the current design we use intermediate results in two cases: to display intermediate results in a solving process and to create animations. However the needs of both are different, for intermediate results it is not necessary that every intermediate is displayed, if the solving is faster than the intermediates we should be skipping displaying some of them. Such a behavior is however not wanted for making animations or looping through files. Hence we need to split this behavior:
====Execution model====
All actions run through the scheduler, which computes the state of each module up on every change in the network. The scheduler is the only entity that can start the execution of a module. For this behavior we need to alter the module code, so a module waits for a signal from the scheduler to start execution or abort in case the module is deleted.
The following events trigger recomputing the state of the network:
* '''Module finished execution''':
** Update the list of modules that depend on this module and schedule them to wait for new data (make sure that modules cannot wait for dependencies that depend on module itself).
** Check whether the output should be considered valid. If a pipe was added or deleted while the module was executing all results of the module should be considered invalid and the module should reexecute.
** If excution was aborted all modules that depend on this one should go into the unresolved state, however modules that depend on other modules that are still executing still are scheduled for execution and continue to wait for new data.
** Determine which modules that are waiting for new data can be executed as the modules upstream are not computing new data.
* '''Adding/deleting pipe''':
** If module is executing try to abort module and reschedule module for execution.
** If module is not executing but is waiting for data recalculate the dependency scheme and keep the module in the '''Waiting for new data''' mode. This module then may trigger execution when the modules upstream are finished.
** If a module is in the resolved state, push it to the unresolved state, but do not execute.
* '''Adding module''':
** Compute whether the execution of a module upstream will trigger this module. In that case the module should go to the '''Wait for new data state''' immediately.
** If the module has no upstream execution schedule it will stay in the '''unresolved''' state.
* '''Deleting a module''':
** The module that is deleted is removed from the network
** The module is issued an abort
** When the module finishes it will be deleted from SCIRun
** Recompute all dependecies and all states of modules when the module is deleted.
** As deletion causes pipes to be deleted, some modules will be forced into an unresolved state.
3836
1655
2006-11-06T19:40:12Z
Jeroen
19
/* Scheduler Design */
wikitext
text/x-wiki
==Scheduler Design==
===Rules for scheduling===
====Module states====
We assume the module can be in one of the following eight states:
*'''Unresolved''': An unresolved module has not adjusted its output to the input or the variables set. When loading a new network all modules will be in this state. The objective of the Scheduler will be to ''solve'' all modules.
*'''Resolved''': This module's output matches the input and variables given. Hence it is in perfect equlibrium. The scheduler does not need to reexecute the module.
*'''Computing new data''': This module is currently executing and will have new data shortly. All modules downstream will be waiting to finish execution until this one is done.
*'''Waiting for new data upstream''': This module will execute as a consequence of a module upstream that is executing.
*'''Computing intermediate''': This module is currently executing, but it is forwarding intermediate results, which are valid results and the modules downstream can execute as soon as we have intermediate results.
*'''Waiting for downstream to resolve''': This module automatically retriggers executing when no modules downstream are executing or depend on executing.
*'''Disabled''': This module is disabled and should not be considered to be part of the network.
*'''Aborting''': This module is given the order to stop and will not post a result on the output ports.
====Execution triggers====
* A module can be execute by the user directly, in which case execution is immediate.
* A module can be forced by the network to be executed, in which case execution is delayed until the modules upstream will not have an execute pending anymore.
* A module can reexecute automatically when all modules downstream have finished execution.
====Intermediate Results====
In the current design we use intermediate results in two cases: to display intermediate results in a solving process and to create animations. However the needs of both are different, for intermediate results it is not necessary that every intermediate is displayed, if the solving is faster than the intermediates we should be skipping displaying some of them. Such a behavior is however not wanted for making animations or looping through files. Hence we need to split this behavior:
====Execution model====
All actions run through the scheduler, which computes the state of each module up on every change in the network. The scheduler is the only entity that can start the execution of a module. For this behavior we need to alter the module code, so a module waits for a signal from the scheduler to start execution or abort in case the module is deleted.
The following events trigger recomputing the state of the network:
* '''Module finished execution''':
** Update the list of modules that depend on this module and schedule them to wait for new data (make sure that modules cannot wait for dependencies that depend on module itself).
** Check whether the output should be considered valid. If a pipe was added or deleted while the module was executing all results of the module should be considered invalid and the module should reexecute.
** If excution was aborted all modules that depend on this one should go into the unresolved state, however modules that depend on other modules that are still executing still are scheduled for execution and continue to wait for new data.
** Determine which modules that are waiting for new data can be executed as the modules upstream are not computing new data.
* '''Adding/deleting pipe''':
** If module is executing try to abort module and reschedule module for execution.
** If module is not executing but is waiting for data recalculate the dependency scheme and keep the module in the '''Waiting for new data''' mode. This module then may trigger execution when the modules upstream are finished.
** If a module is in the resolved state, push it to the unresolved state, but do not execute.
* '''Adding module''':
** Compute whether the execution of a module upstream will trigger this module. In that case the module should go to the '''Wait for new data state''' immediately.
** If the module has no upstream execution schedule it will stay in the '''unresolved''' state.
* '''Deleting a module''':
** The module that is deleted is removed from the network
** The module is issued an abort
** When the module finishes it will be deleted from SCIRun
** Recompute all dependecies and all states of modules when the module is deleted.
** As deletion causes pipes to be deleted, some modules will be forced into an unresolved state.
====Sketch of Scheduler Innerworkings====
* An event (module execution finished, module intermediate execution finished, add pipe, remove pipe, add module, remove module, user execute module) occurs and is reported to the mailbox of the Scheduler.
* Scheduler locks and prevents anything from changing the current state. We will do an event by event recompution of the full state of the scheduler.
* First make a list of all modules that are currently executing. Use the information from the events to see if a module finished execution or was ordered by the user to execute. If the user executed a module it is added to the execution list, if a module finished it is removed from the execution list.
* Second determine which modules are resolved and which are not and which modules are disabled. Check whether the generation numbers used of the dataflow objects used for the most recent execution are the most recent from the upstream modules. If a module is disabled no state information will be calculated for it: it is in the disabled state.
* Determine all modules that depend on modules executing in the network, these modules will go in the '''wait for new data''' list.
CIBC:Project:NCMIR
0
1061
1660
1658
2006-11-07T00:21:12Z
Cates
4
/* Overview */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
<b>For up to date information and announcements regarding Seg3D please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl Join the Seg3D Mailing List. ]</b>
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-01.png Capecchi Collab Screenshot 1]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-02.png Capecchi Collab Screenshot 2]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-04.png Matt Jolley Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-05.png Dr. Valentino @ UCLA Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-06.png NCMIR Collab Screenshot]
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://www.sci.utah.edu/~mdavis/Seg3D/ 720x480 PowerPoint optimized movies]
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movie scripts on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters, & custom filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Allows for sharing of volume memory between Nrrd and Insight filters
* Small (5-10mb binary)
* Minimal dependencies (OpenGL, Freetype)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
* Based on SCIRun Core libraries
=== Software Process ===
* Uses existing open source projects (ITK, freetype, libxml2)
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable under BSD style license
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
2117
1660
2006-11-07T00:22:50Z
Cates
4
/* Overview */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
<b>For up to date information and announcements regarding Seg3D please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl Join the Seg3D Mailing List. ]</b>
<b>Seg3D is built atop the LeXoV volume processing engine. For more information, see [http://www.lexov.org www.lexov.org].
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-01.png Capecchi Collab Screenshot 1]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-02.png Capecchi Collab Screenshot 2]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-04.png Matt Jolley Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-05.png Dr. Valentino @ UCLA Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-06.png NCMIR Collab Screenshot]
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://www.sci.utah.edu/~mdavis/Seg3D/ 720x480 PowerPoint optimized movies]
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movie scripts on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters, & custom filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Allows for sharing of volume memory between Nrrd and Insight filters
* Small (5-10mb binary)
* Minimal dependencies (OpenGL, Freetype)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
* Based on SCIRun Core libraries
=== Software Process ===
* Uses existing open source projects (ITK, freetype, libxml2)
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable under BSD style license
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
Main Page
0
1
1972
1659
2006-11-07T00:22:36Z
McKayDavis
45
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
The release Seg3D is near.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Documentation Portal===
;[[CIBC:Documentation| Documentation Portal]]
:Access the SCIRun/BioPSE documentation tree
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle
0
1479
1662
1661
2006-11-07T16:25:32Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''GetColorMap2sFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a '''colormap2''' object from a bundle.
====Detailed Description====
This module retrieves a '''colormap2''' object from a bundle by specifying the name under which the obect is stored in the bundle. The module has three output ports that each can be programmed to retrieve a specific '''colormap2''' object.
There are two ways of specifying the name of the '''colormap2''' object. Firstly one can enter the name of the object in the entry box on top of the menu, secondly one can execute the module, in which case a list of all objects of the '''colormap2''' is generated. By selecting the one that one wants on the output port the obect can be retrieved from the bundle.
The first bundle output port generates a copy of the input bundle and can be used to attach a second module that retrieves data from the bundle.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
3618
1662
2006-11-07T16:30:07Z
Jeroen
19
/* Frequently Asked Questions */
wikitext
text/x-wiki
=='''GetColorMap2sFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a '''colormap2''' object from a bundle.
====Detailed Description====
This module retrieves a '''colormap2''' object from a bundle by specifying the name under which the obect is stored in the bundle. The module has three output ports that each can be programmed to retrieve a specific '''colormap2''' object.
There are two ways of specifying the name of the '''colormap2''' object. Firstly one can enter the name of the object in the entry box on top of the menu, secondly one can execute the module, in which case a list of all objects of the '''colormap2''' is generated. By selecting the one that one wants on the output port the obect can be retrieved from the bundle.
The first bundle output port generates a copy of the input bundle and can be used to attach a second module that retrieves data from the bundle.
----
===Frequently Asked Questions===
;Why does the module only have three output ports?
:The current SCIRun interface does not allow for a variable number of output ports. The current number of output ports was arbitrary chosen and may change in the future with improvements to the SCIRun infrastructure.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle
0
1096
1664
1663
2006-11-07T16:32:46Z
Jeroen
19
/* '''GetBundlesFromBundle''' */
wikitext
text/x-wiki
=='''GetBundlesFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a '''bundle''' object from a bundle.
====Detailed Description====
This module retrieves a '''bundle''' object from a bundle by specifying the name under which the obect is stored in the bundle. The module has three output ports that each can be programmed to retrieve a specific '''bundle''' object.
There are two ways of specifying the name of the '''bundle''' object. Firstly one can enter the name of the object in the entry box on top of the menu, secondly one can execute the module, in which case a list of all objects of the '''bundle''' is generated. By selecting the one that one wants on the output port the obect can be retrieved from the bundle.
The first bundle output port generates a copy of the input bundle and can be used to attach a second module that retrieves data from the bundle.
----
===Frequently Asked Questions===
;Why does the module only have three output ports?
:The current SCIRun interface does not allow for a variable number of output ports. The current number of output ports was arbitrary chosen and may change in the future with improvements to the SCIRun infrastructure.
----
===Known bugs===
---
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
1665
1664
2006-11-07T16:33:06Z
Jeroen
19
/* Known bugs */
wikitext
text/x-wiki
=='''GetBundlesFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a '''bundle''' object from a bundle.
====Detailed Description====
This module retrieves a '''bundle''' object from a bundle by specifying the name under which the obect is stored in the bundle. The module has three output ports that each can be programmed to retrieve a specific '''bundle''' object.
There are two ways of specifying the name of the '''bundle''' object. Firstly one can enter the name of the object in the entry box on top of the menu, secondly one can execute the module, in which case a list of all objects of the '''bundle''' is generated. By selecting the one that one wants on the output port the obect can be retrieved from the bundle.
The first bundle output port generates a copy of the input bundle and can be used to attach a second module that retrieves data from the bundle.
----
===Frequently Asked Questions===
;Why does the module only have three output ports?
:The current SCIRun interface does not allow for a variable number of output ports. The current number of output ports was arbitrary chosen and may change in the future with improvements to the SCIRun infrastructure.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
3235
1665
2006-11-07T16:36:34Z
Jeroen
19
/* Frequently Asked Questions */
wikitext
text/x-wiki
=='''GetBundlesFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a '''bundle''' object from a bundle.
====Detailed Description====
This module retrieves a '''bundle''' object from a bundle by specifying the name under which the obect is stored in the bundle. The module has three output ports that each can be programmed to retrieve a specific '''bundle''' object.
There are two ways of specifying the name of the '''bundle''' object. Firstly one can enter the name of the object in the entry box on top of the menu, secondly one can execute the module, in which case a list of all objects of the '''bundle''' is generated. By selecting the one that one wants on the output port the obect can be retrieved from the bundle.
The first bundle output port generates a copy of the input bundle and can be used to attach a second module that retrieves data from the bundle.
----
===Frequently Asked Questions===
;Why does the module only have three output ports?
:The current SCIRun interface does not allow for a variable number of output ports. The current number of output ports was arbitrary chosen and may change in the future with improvements to the SCIRun infrastructure.
;The module does not extract the bundle object?
:Make sure one does not use the first output port as this is a mere copy of the input bundle. The second to fourth output port correspond to the bundles extracted from the bundle.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle
0
1097
3236
1666
2006-11-07T16:38:11Z
Jeroen
19
/* '''GetColorMapsFromBundle''' */
wikitext
text/x-wiki
=='''GetColorMapsFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a '''colormap''' object from a bundle.
====Detailed Description====
This module retrieves a '''colormap''' object from a bundle by specifying the name under which the obect is stored in the bundle. The module has three output ports that each can be programmed to retrieve a specific '''colormap''' object.
There are two ways of specifying the name of the '''colormap''' object. Firstly one can enter the name of the object in the entry box on top of the menu, secondly one can execute the module, in which case a list of all objects of the '''colormap''' is generated. By selecting the one that one wants on the output port the obect can be retrieved from the bundle.
The first bundle output port generates a copy of the input bundle and can be used to attach a second module that retrieves data from the bundle.
----
===Frequently Asked Questions===
;Why does the module only have three output ports?
:The current SCIRun interface does not allow for a variable number of output ports. The current number of output ports was arbitrary chosen and may change in the future with improvements to the SCIRun infrastructure.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle
0
1098
3237
1667
2006-11-07T16:39:40Z
Jeroen
19
/* '''GetFieldsFromBundle''' */
wikitext
text/x-wiki
=='''GetFieldsFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a '''field''' object from a bundle.
====Detailed Description====
This module retrieves a '''field''' object from a bundle by specifying the name under which the obect is stored in the bundle. The module has three output ports that each can be programmed to retrieve a specific '''field''' object.
There are two ways of specifying the name of the '''field''' object. Firstly one can enter the name of the object in the entry box on top of the menu, secondly one can execute the module, in which case a list of all objects of the '''field''' is generated. By selecting the one that one wants on the output port the obect can be retrieved from the bundle.
The first bundle output port generates a copy of the input bundle and can be used to attach a second module that retrieves data from the bundle.
----
===Frequently Asked Questions===
;Why does the module only have three output ports?
:The current SCIRun interface does not allow for a variable number of output ports. The current number of output ports was arbitrary chosen and may change in the future with improvements to the SCIRun infrastructure.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle
0
1099
3238
1668
2006-11-07T16:41:09Z
Jeroen
19
/* '''GetMatricesFromBundle''' */
wikitext
text/x-wiki
=='''GetMatricesFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a '''matrix''' object from a bundle.
====Detailed Description====
This module retrieves a '''matrix''' object from a bundle by specifying the name under which the obect is stored in the bundle. The module has three output ports that each can be programmed to retrieve a specific '''matrix''' object.
There are two ways of specifying the name of the '''matrix''' object. Firstly one can enter the name of the object in the entry box on top of the menu, secondly one can execute the module, in which case a list of all objects of the '''matrix''' is generated. By selecting the one that one wants on the output port the obect can be retrieved from the bundle.
The first bundle output port generates a copy of the input bundle and can be used to attach a second module that retrieves data from the bundle.
----
===Frequently Asked Questions===
;Why does the module only have three output ports?
:The current SCIRun interface does not allow for a variable number of output ports. The current number of output ports was arbitrary chosen and may change in the future with improvements to the SCIRun infrastructure.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle
0
1100
1670
1669
2006-11-07T16:44:04Z
Jeroen
19
/* '''GetNrrdsFromBundle''' */
wikitext
text/x-wiki
=='''GetNrrdsFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a '''colormap2''' object from a bundle.
====Detailed Description====
This module retrieves a '''nrrd''' object from a bundle by specifying the name under which the obect is stored in the bundle. The module has three output ports that each can be programmed to retrieve a specific '''nrrd''' object.
There are two ways of specifying the name of the '''nrrd''' object. Firstly one can enter the name of the object in the entry box on top of the menu, secondly one can execute the module, in which case a list of all objects of the '''nrrd''' is generated. By selecting the one that one wants on the output port the obect can be retrieved from the bundle.
The first bundle output port generates a copy of the input bundle and can be used to attach a second module that retrieves data from the bundle.
----
===Frequently Asked Questions===
;Why does the module only have three output ports?
:The current SCIRun interface does not allow for a variable number of output ports. The current number of output ports was arbitrary chosen and may change in the future with improvements to the SCIRun infrastructure.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
3239
1670
2006-11-07T16:44:22Z
Jeroen
19
/* Summary */
wikitext
text/x-wiki
=='''GetNrrdsFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a '''nrrd''' object from a bundle.
====Detailed Description====
This module retrieves a '''nrrd''' object from a bundle by specifying the name under which the obect is stored in the bundle. The module has three output ports that each can be programmed to retrieve a specific '''nrrd''' object.
There are two ways of specifying the name of the '''nrrd''' object. Firstly one can enter the name of the object in the entry box on top of the menu, secondly one can execute the module, in which case a list of all objects of the '''nrrd''' is generated. By selecting the one that one wants on the output port the obect can be retrieved from the bundle.
The first bundle output port generates a copy of the input bundle and can be used to attach a second module that retrieves data from the bundle.
----
===Frequently Asked Questions===
;Why does the module only have three output ports?
:The current SCIRun interface does not allow for a variable number of output ports. The current number of output ports was arbitrary chosen and may change in the future with improvements to the SCIRun infrastructure.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle
0
1101
3240
1671
2006-11-07T16:45:26Z
Jeroen
19
/* '''GetPathsFromBundle''' */
wikitext
text/x-wiki
=='''GetPathsFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a '''path''' object from a bundle.
====Detailed Description====
This module retrieves a '''path''' object from a bundle by specifying the name under which the obect is stored in the bundle. The module has three output ports that each can be programmed to retrieve a specific '''path''' object.
There are two ways of specifying the name of the '''path''' object. Firstly one can enter the name of the object in the entry box on top of the menu, secondly one can execute the module, in which case a list of all objects of the '''path''' is generated. By selecting the one that one wants on the output port the obect can be retrieved from the bundle.
The first bundle output port generates a copy of the input bundle and can be used to attach a second module that retrieves data from the bundle.
----
===Frequently Asked Questions===
;Why does the module only have three output ports?
:The current SCIRun interface does not allow for a variable number of output ports. The current number of output ports was arbitrary chosen and may change in the future with improvements to the SCIRun infrastructure.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle
0
1102
3241
1672
2006-11-07T16:47:14Z
Jeroen
19
/* '''GetStringsFromBundle''' */
wikitext
text/x-wiki
=='''GetStringsFromBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module retrieves a '''string''' object from a bundle.
====Detailed Description====
This module retrieves a '''string''' object from a bundle by specifying the name under which the obect is stored in the bundle. The module has three output ports that each can be programmed to retrieve a specific '''string''' object.
There are two ways of specifying the name of the '''string''' object. Firstly one can enter the name of the object in the entry box on top of the menu, secondly one can execute the module, in which case a list of all objects of the '''string''' is generated. By selecting the one that one wants on the output port the obect can be retrieved from the bundle.
The first bundle output port generates a copy of the input bundle and can be used to attach a second module that retrieves data from the bundle.
----
===Frequently Asked Questions===
;Why does the module only have three output ports?
:The current SCIRun interface does not allow for a variable number of output ports. The current number of output ports was arbitrary chosen and may change in the future with improvements to the SCIRun infrastructure.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles
0
1110
3249
1673
2006-11-07T16:50:11Z
Jeroen
19
/* '''JoinBundles''' */
wikitext
text/x-wiki
=='''JoinBundles'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module merges the contents of multiple bundles into one bundle.
====Detailed Description====
This module merges the contents of multiple bundles into one bundle. If an object with the same name exists in multiple bundles the one from the right most input is chosen and the other one will be discarded.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun
0
1095
1683
1674
2006-11-07T16:51:37Z
Jeroen
19
/* '''Bundle''' */
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a 'bundle' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a 'colormap2' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a 'colormap' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a 'field' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a 'matrix' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a 'nrrd' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a 'path' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a 'string' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module adds a 'bundle' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module adds a 'colormap2' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module adds a 'colormap' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module adds a 'field' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module adds a 'matrix' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module adds a 'nrrd' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module adds a 'path' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module adds a 'string' object to a bundle stream.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This module merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldData2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldData3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a bundle from disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:The ColorMap Read a persistent colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:The ColorMap2 Read a persistent 2d colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:ReadField allows the user to load-in any of the SCIRun supported Field types and then sends that Field to another module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:The ReadMatrix moudle reads a persistent matrix from a file and sends that matrix to another module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:The ReadPath module reads a persistent camera path from a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a bundle to disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:Saves persistent field objects received from upstream modules.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:The WriteMatrix modules saves a persistent representation of a matrix to disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:The WritePath module saves persistent representation of a path to a file.
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|AppendMatrix]]
:Composite a matrix from components.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
1741
1683
2006-11-07T17:59:49Z
Jeroen
19
/* '''Bundle''' */
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a '''bundle''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a '''colormap2''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a '''colormap''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a '''field''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a '''matrix''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a '''nrrd''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a '''path''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a '''string''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module inserts a '''bundle''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module inserts a '''colormap2''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module inserts a '''colormap''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module inserts a '''field''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module inserts a '''matrix''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module inserts a '''nrrd''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module inserts a '''path''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module inserts a '''string''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This module merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldData2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldData3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a bundle from disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:The ColorMap Read a persistent colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:The ColorMap2 Read a persistent 2d colormap from a file on disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:ReadField allows the user to load-in any of the SCIRun supported Field types and then sends that Field to another module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:The ReadMatrix moudle reads a persistent matrix from a file and sends that matrix to another module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:The ReadPath module reads a persistent camera path from a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a bundle to disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:Save persistent representation of a colormap to a file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:Saves persistent field objects received from upstream modules.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:The WriteMatrix modules saves a persistent representation of a matrix to disk.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:The WritePath module saves persistent representation of a path to a file.
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|AppendMatrix]]
:Composite a matrix from components.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle
0
1103
3242
1675
2006-11-07T17:52:12Z
Jeroen
19
/* '''InsertBundlesIntoBundle''' */
wikitext
text/x-wiki
=='''InsertBundlesIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module inserts a '''bundle''' object into a bundle.
====Detailed Description====
This module inserts a '''bundle''' object into a bundle. In the GUI of this module a name can be specified for the object. The latter will be used to catalogue the object inside the bundle. This module allows for three '''bundle''' objects to be inserted at the same time. In the GUI a name can be specified for each of the '''bundle''' objects by clicking on the tab that corresponds to the input port where the dataflow object is located.
----
===Frequently Asked Questions===
;How to delete an object from a bundle?
:Objects cannot be deleted from a bundle at this time. If one wants a bundle without a certain object one can construct a new bundle or one can overwrite the object by inserting an object with the same name.
;Are bundles memory efficient?
:The bundle object only contains pointers to the objects inside its database. An object can be inserted into many bundles without the object being copied in memory.
;Can dataflow objects with a different type use the same name?
:No, currently each name points to an unique object in the bundle regardless of the dataflow type.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle
0
1505
3644
1676
2006-11-07T17:53:10Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertColorMap2sIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module inserts a '''colormap2''' object into a bundle.
====Detailed Description====
This module inserts a '''colormap2''' object into a bundle. In the GUI of this module a name can be specified for the object. The latter will be used to catalogue the object inside the bundle. This module allows for three '''colormap2''' objects to be inserted at the same time. In the GUI a name can be specified for each of the '''colormap2''' objects by clicking on the tab that corresponds to the input port where the dataflow object is located.
----
===Frequently Asked Questions===
;How to delete an object from a bundle?
:Objects cannot be deleted from a bundle at this time. If one wants a bundle without a certain object one can construct a new bundle or one can overwrite the object by inserting an object with the same name.
;Are bundles memory efficient?
:The bundle object only contains pointers to the objects inside its database. An object can be inserted into many bundles without the object being copied in memory.
;Can dataflow objects with a different type use the same name?
:No, currently each name points to an unique object in the bundle regardless of the dataflow type.
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle
0
1104
3243
1677
2006-11-07T17:53:58Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertColorMapsIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module inserts a '''colormap''' object into a bundle.
====Detailed Description====
This module inserts a '''colormap''' object into a bundle. In the GUI of this module a name can be specified for the object. The latter will be used to catalogue the object inside the bundle. This module allows for three '''colormap''' objects to be inserted at the same time. In the GUI a name can be specified for each of the '''colormap''' objects by clicking on the tab that corresponds to the input port where the dataflow object is located.
----
===Frequently Asked Questions===
;How to delete an object from a bundle?
:Objects cannot be deleted from a bundle at this time. If one wants a bundle without a certain object one can construct a new bundle or one can overwrite the object by inserting an object with the same name.
;Are bundles memory efficient?
:The bundle object only contains pointers to the objects inside its database. An object can be inserted into many bundles without the object being copied in memory.
;Can dataflow objects with a different type use the same name?
:No, currently each name points to an unique object in the bundle regardless of the dataflow type.
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle
0
1105
3244
1678
2006-11-07T17:54:42Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertFieldsIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module inserts a '''field''' object into a bundle.
====Detailed Description====
This module inserts a '''field''' object into a bundle. In the GUI of this module a name can be specified for the object. The latter will be used to catalogue the object inside the bundle. This module allows for three '''field''' objects to be inserted at the same time. In the GUI a name can be specified for each of the '''field''' objects by clicking on the tab that corresponds to the input port where the dataflow object is located.
----
===Frequently Asked Questions===
;How to delete an object from a bundle?
:Objects cannot be deleted from a bundle at this time. If one wants a bundle without a certain object one can construct a new bundle or one can overwrite the object by inserting an object with the same name.
;Are bundles memory efficient?
:The bundle object only contains pointers to the objects inside its database. An object can be inserted into many bundles without the object being copied in memory.
;Can dataflow objects with a different type use the same name?
:No, currently each name points to an unique object in the bundle regardless of the dataflow type.
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle
0
1106
3245
1679
2006-11-07T17:55:25Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertMatricesIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module inserts a '''matrix''' object into a bundle.
====Detailed Description====
This module inserts a '''matrix''' object into a bundle. In the GUI of this module a name can be specified for the object. The latter will be used to catalogue the object inside the bundle. This module allows for three '''matrix''' objects to be inserted at the same time. In the GUI a name can be specified for each of the '''matrix''' objects by clicking on the tab that corresponds to the input port where the dataflow object is located.
----
===Frequently Asked Questions===
;How to delete an object from a bundle?
:Objects cannot be deleted from a bundle at this time. If one wants a bundle without a certain object one can construct a new bundle or one can overwrite the object by inserting an object with the same name.
;Are bundles memory efficient?
:The bundle object only contains pointers to the objects inside its database. An object can be inserted into many bundles without the object being copied in memory.
;Can dataflow objects with a different type use the same name?
:No, currently each name points to an unique object in the bundle regardless of the dataflow type.
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle
0
1107
3246
1680
2006-11-07T17:56:17Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertNrrdsIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module inserts a '''nrrd''' object into a bundle.
====Detailed Description====
This module inserts a '''nrrd''' object into a bundle. In the GUI of this module a name can be specified for the object. The latter will be used to catalogue the object inside the bundle. This module allows for three '''nrrd''' objects to be inserted at the same time. In the GUI a name can be specified for each of the '''nrrd''' objects by clicking on the tab that corresponds to the input port where the dataflow object is located.
----
===Frequently Asked Questions===
;How to delete an object from a bundle?
:Objects cannot be deleted from a bundle at this time. If one wants a bundle without a certain object one can construct a new bundle or one can overwrite the object by inserting an object with the same name.
;Are bundles memory efficient?
:The bundle object only contains pointers to the objects inside its database. An object can be inserted into many bundles without the object being copied in memory.
;Can dataflow objects with a different type use the same name?
:No, currently each name points to an unique object in the bundle regardless of the dataflow type.
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle
0
1108
3247
1681
2006-11-07T17:57:05Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertPathsIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module inserts a '''path''' object into a bundle.
====Detailed Description====
This module inserts a '''path''' object into a bundle. In the GUI of this module a name can be specified for the object. The latter will be used to catalogue the object inside the bundle. This module allows for three '''path''' objects to be inserted at the same time. In the GUI a name can be specified for each of the '''path''' objects by clicking on the tab that corresponds to the input port where the dataflow object is located.
----
===Frequently Asked Questions===
;How to delete an object from a bundle?
:Objects cannot be deleted from a bundle at this time. If one wants a bundle without a certain object one can construct a new bundle or one can overwrite the object by inserting an object with the same name.
;Are bundles memory efficient?
:The bundle object only contains pointers to the objects inside its database. An object can be inserted into many bundles without the object being copied in memory.
;Can dataflow objects with a different type use the same name?
:No, currently each name points to an unique object in the bundle regardless of the dataflow type.
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle
0
1109
3248
1682
2006-11-07T17:57:52Z
Jeroen
19
wikitext
text/x-wiki
=='''InsertStringsIntoBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Bundle
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module inserts a '''string''' object into a bundle.
====Detailed Description====
This module inserts a '''string''' object into a bundle. In the GUI of this module a name can be specified for the object. The latter will be used to catalogue the object inside the bundle. This module allows for three '''string''' objects to be inserted at the same time. In the GUI a name can be specified for each of the '''string''' objects by clicking on the tab that corresponds to the input port where the dataflow object is located.
----
===Frequently Asked Questions===
;How to delete an object from a bundle?
:Objects cannot be deleted from a bundle at this time. If one wants a bundle without a certain object one can construct a new bundle or one can overwrite the object by inserting an object with the same name.
;Are bundles memory efficient?
:The bundle object only contains pointers to the objects inside its database. An object can be inserted into many bundles without the object being copied in memory.
;Can dataflow objects with a different type use the same name?
:No, currently each name points to an unique object in the bundle regardless of the dataflow type.
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle
0
1539
1685
1684
2006-11-07T18:01:12Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ReadBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module reads a '''bundle''' dataflow from disk.
====Detailed Description====
This module reads a '''bundle''' from disk. A bundle file has a .bdl extension and can be written with the BundleWriter module. In a bdl file every component is stored. Hence it can be used to group a lot of different SCIRun objects together and store it in one file.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
1686
1685
2006-11-07T18:03:04Z
Jeroen
19
/* Frequently Asked Questions */
wikitext
text/x-wiki
=='''ReadBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module reads a '''bundle''' dataflow from disk.
====Detailed Description====
This module reads a '''bundle''' from disk. A bundle file has a .bdl extension and can be written with the BundleWriter module. In a bdl file every component is stored. Hence it can be used to group a lot of different SCIRun objects together and store it in one file.
----
===Frequently Asked Questions===
;Does the bundle writer store duplicate objects twice in a file?
:No, the bundle writer will detect whether objects are the same. For instance if two fields use the same mesh, the mesh is only stored once in the file. This way memory and space is conserved.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
1743
1686
2006-11-07T18:03:34Z
Jeroen
19
/* Frequently Asked Questions */
wikitext
text/x-wiki
=='''ReadBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module reads a '''bundle''' dataflow from disk.
====Detailed Description====
This module reads a '''bundle''' from disk. A bundle file has a .bdl extension and can be written with the BundleWriter module. In a bdl file every component is stored. Hence it can be used to group a lot of different SCIRun objects together and store it in one file.
----
===Frequently Asked Questions===
;Does the bundle writer store duplicate objects twice in a file?
:No, the bundle writer will detect whether objects are the same. For instance if two fields use the same mesh, the mesh is only stored once in the file. This way memory and space is conserved.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle
0
1620
1688
1687
2006-11-07T18:04:06Z
Jeroen
19
/* Frequently Asked Questions */
wikitext
text/x-wiki
=='''WriteBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module writes a bundle to disk.
====Detailed Description====
This module writes a bundle to disk. A bundle file has a .bdl extension and can be written with the WriteBundle module and can be read with the BundleReader module. In a bdl file every component is stored. Hence it can be used to group a lot of different SCIRun objects together and store it as one file.
----
===Frequently Asked Questions===
;Does the bundle writer store duplicate objects twice in a file?
:No, the bundle writer will detect whether objects are the same. For instance if two fields use the same mesh, the mesh is only stored once in the file. This way memory and space is conserved.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
3759
1688
2006-11-07T18:04:48Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''WriteBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module writes a '''bundle''' object to disk.
====Detailed Description====
This module writes a '''bundle''' object to disk. A bundle file has a .bdl extension and can be written with the WriteBundle module and can be read with the BundleReader module. In a bdl file every component is stored. Hence it can be used to group a lot of different SCIRun objects together and store it as one file.
----
===Frequently Asked Questions===
;Does the bundle writer store duplicate objects twice in a file?
:No, the bundle writer will detect whether objects are the same. For instance if two fields use the same mesh, the mesh is only stored once in the file. This way memory and space is conserved.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString
0
1455
3594
1689
2006-11-07T18:06:12Z
Jeroen
19
/* '''CreateString''' */
wikitext
text/x-wiki
=='''CreateString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module can be used to create a string.
====Detailed Description====
This module allows the user to create a string by typing the string into an edit box in the GUI.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName
0
1488
3627
1690
2006-11-07T18:07:40Z
Jeroen
19
/* Detailed Description */
wikitext
text/x-wiki
=='''GetFileName'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This Module gets a filename and stores it in a string.
====Detailed Description====
This Module gets a filename and stores it in a string. The filename can be selected through a widget in the GUI. The name that was selected is saved in a string.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings
0
1523
3662
1691
2006-11-07T18:09:17Z
Jeroen
19
/* Detailed Description */
wikitext
text/x-wiki
=='''JoinStrings'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module merges multiple strings into one string.
====Detailed Description====
This module merges multiple strings into one string. The strings are read from the left most port to the right most port and are put into one string. (The string of the left most input port is the first string in the merged data and the one on the right is the last one).
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString
0
1535
1693
1692
2006-11-07T18:13:08Z
Jeroen
19
/* Detailed Description */
wikitext
text/x-wiki
=='''PrintMatrixIntoString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module does a sprintf with input matrices into a new string.
====Detailed Description====
This module module takes in a formatted string (a string with %01d, %4.5f, %g etc) and takes the numbers of the input matrix and puts these formatted numbers into the string. The input matrix can be a scalar but can as well be a full dense matrix. The module takes each number out of the matrix and puts it in the formatted number string. For example in order to plot the contents of a 1 by 3 vector one may choose a formatstring of '%f %f %f\n', which will put all three value in the matrix in the formatted string. If there are more numbers in the matrix than in the format string then the current format string will be reused again and the format string is filled out from the first entry again. Hence to get the contents of a 4 by 4 matrix in a comma seperated list one can choose a format string of '%5.5f, '. This will apply this format string to each number in the matrix. In case multiple matrices are supplied, first all the values of the first matrix will be used, then all the numbers of the second matrix, etc. When there are more positions in the matrix where one can fill out a number then the rest will be padded with the value 0.0.
'''Note:''' the formatstring may contain '%s', which will remain in the format string and is not touched by this module. To insert strings use [[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]] instead.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
1694
1693
2006-11-07T18:13:27Z
Jeroen
19
/* Detailed Description */
wikitext
text/x-wiki
=='''PrintMatrixIntoString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module does a sprintf with input matrices into a new string.
====Detailed Description====
This module module takes in a formatted string (a string with %01d, %4.5f, %g etc) and takes the numbers of the input matrix and puts these formatted numbers into the string. The input matrix can be a scalar but can as well be a full dense matrix. The module takes each number out of the matrix and puts it in the formatted number string. For example in order to plot the contents of a 1 by 3 vector one may choose a formatstring of '%f %f %f\n', which will put all three value in the matrix in the formatted string. If there are more numbers in the matrix than in the format string then the current format string will be reused again and the format string is filled out from the first entry again. Hence to get the contents of a 4 by 4 matrix in a comma seperated list one can choose a format string of '%5.5f, '. This will apply this format string to each number in the matrix. In case multiple matrices are supplied, first all the values of the first matrix will be used, then all the numbers of the second matrix, etc. When there are more positions in the matrix where one can fill out a number then the rest will be padded with the value 0.0.
'''Note:''' the format string may contain '%s', which will remain in the format string and is not touched by this module. To insert strings use [[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]] instead.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
3674
1694
2006-11-07T18:14:50Z
Jeroen
19
/* Detailed Description */
wikitext
text/x-wiki
=='''PrintMatrixIntoString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module does a sprintf with input matrices into a new string.
====Detailed Description====
This module module takes in a formatted string (a string with %01d, %4.5f, %g etc) and takes the numbers of the input matrix and puts these formatted numbers into the string. The input matrix can be a scalar but can as well be a full dense matrix. The module takes each number out of the matrix and puts it in the formatted number string. For example in order to plot the contents of a 1 by 3 vector one may choose a formatstring of '%f %f %f\n', which will put all three value in the matrix in the formatted string. If there are more numbers in the matrix than in the format string then the current format string will be reused again and the format string is filled out from the first entry again. Hence to get the contents of a 4 by 4 matrix in a comma seperated list one can choose a format string of '%5.5f, '. This will apply this format string to each number in the matrix. In case multiple matrices are supplied, first all the values of the first matrix will be used, then all the numbers of the second matrix, etc. When there are more positions in the matrix where one can fill out a number then the rest will be padded with the value 0.0.
The format string to be used can be either entered in the GUI or on the first input port. If a string is found at the first input port, this one is automatically inserted in the widget on the GUI and is the one to be used.
'''Note:''' the format string may contain '%s', which will remain in the format string and is not touched by this module. To insert strings use [[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]] instead.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString
0
1538
3677
1695
2006-11-07T18:18:17Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''PrintStringIntoString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: String
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module prints a string into a formatted string.
====Detailed Description====
This module performs a '''sprintf''' operation with strings, whereever a %s in the format string is found the input string will be pasted. This module takes in a new string for each %s encountered in the format string. If not enough string are supplied an empty string is used.
'''Note:''' This module leaves any numeric formatting untouched. Hence statements like %d or %f remain in the string. To insert numbers, use the [[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]] module.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString
0
1591
3730
1696
2006-11-07T18:21:34Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ShowString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Visualization
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module puts the contents of a string in the viewer window.
====Detailed Description====
This module is able to display multiple lines of information into the viewer window. The module takes a string as input and displays the contents on top of the viewer window. If there are 'newlines' in the string multiple lines are displayed (up to ten lines). In the GUI the font size and color can be altered as well as the location of where to plot the text. This module is intended to provide the user with a means to put any arbitrary information about the data being shown inside the figure.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Project:Matlab
0
1076
1699
1698
2006-11-07T22:09:57Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) Dynamically modifying function parameters to a Matlab program within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
6) How to access functions and variables that are present within Matlab source code using the SCIRun Matlab module?
7) How to convert Matlab data types into corresponding SCIRun data types?
8) How to combine scientific visualization data representation with additional information such as titles, axis labels, etc. That are described within the Matlab code?
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functions such as contour(...), surf(...), mesh(...), etc?
10) How to create a combined visualization within SCIRun?
11)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code whose data processing function should not be modified.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
1700
1699
2006-11-07T22:23:41Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) Dynamically modifying function parameters to a Matlab program within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
6) How to access functions and variables that are present within Matlab source code using the SCIRun Matlab module?
7) How to convert Matlab data types into corresponding SCIRun data types?
8) How to combine scientific visualization data representation with additional information such as titles, axis labels, etc. That are described within the Matlab code?
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functions such as contour(...), surf(...), mesh(...), etc?
10) How to create a combined visualization within SCIRun?
11)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
1701
1700
2006-11-09T18:42:32Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) Dynamically modifying function parameters to a Matlab program within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to access functions and variables that are present within Matlab source code using the SCIRun Matlab module?
The ability to access Matlab functions and variables from within SCIRun is essential if we want to execute Matlab code within SCIRun.
7) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
8) How to combine scientific visualization data representation with additional information such as titles, axis labels, etc. That are described within the Matlab code?
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functions such as contour(...), surf(...), mesh(...), etc?
10) How to create a combined visualization within SCIRun?
11)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
1712
1701
2006-11-09T18:59:04Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying function parameters to a Matlab program within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
7) How to combine scientific visualization data representation with additional information such as titles, axis labels, etc. That are described within the Matlab code?
8) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functions such as contour(...), surf(...), mesh(...), etc?
9) How to create a combined visualization within SCIRun?
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
CIBC:Documentation:SCIRun:Reference:Insight
0
1695
1702
2006-11-09T20:05:49Z
Jeroen
19
wikitext
text/x-wiki
=='''Insight Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Converters'''===
;[[CIBC:Documentation:SCIRun:Reference:Insight:BuildSeedVolume|BuildSeedVolume]]
:>Given a point cloud of doubles, create a binary ITK Image of unsigned chars.
;[[CIBC:Documentation:SCIRun:Reference:Insight:FieldToImage|FieldToImage]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:Image2DToImage3D|Image2DToImage3D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:Image3DToImage2D|Image3DToImage2D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageToField|ImageToField]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageToNrrd|ImageToNrrd]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:NrrdToImage|NrrdToImage]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:RGBPixelToVector|RGBPixelToVector]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorToRGBPixel|VectorToRGBPixel]]
:
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:Insight:ChooseImage|ChooseImage]]
:ChooseImage takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ColorImageReaderFloat2D|ColorImageReaderFloat2D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ColorImageReaderFloat3D|ColorImageReaderFloat3D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageFileWriter|ImageFileWriter]]
:Writes an ITK Image.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageReaderFloat2D|ImageReaderFloat2D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageReaderFloat3D|ImageReaderFloat3D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:SliceReader|SliceReader]]
:Read in a 3D volume a slice at a time.
==='''Filters'''===
;[[CIBC:Documentation:SCIRun:Reference:Insight:BinaryDilateImageFilter|BinaryDilateImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:BinaryErodeImageFilter|BinaryErodeImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:BinaryThresholdImageFilter|BinaryThresholdImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:CannySegmentationLevelSetImageFilter|CannySegmentationLevelSetImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ConfidenceConnectedImageFilter|ConfidenceConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ConnectedThresholdImageFilter|ConnectedThresholdImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:CurvatureAnisotropicDiffusionImageFilter|CurvatureAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:CurvatureFlowImageFilter|CurvatureFlowImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:DiscreteGaussianImageFilter|DiscreteGaussianImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ExtractImageFilter|ExtractImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GeodesicActiveContourLevelSetImageFilter|GeodesicActiveContourLevelSetImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GradientAnisotropicDiffusionImageFilter|GradientAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GradientMagnitudeImageFilter|GradientMagnitudeImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GradientRecursiveGaussianImageFilter|GradientRecursiveGaussianImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GrayscaleDilateImageFilter|GrayscaleDilateImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GrayscaleErodeImageFilter|GrayscaleErodeImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:IsolatedConnectedImageFilter|IsolatedConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:MeanImageFilter|MeanImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:NeighborhoodConnectedImageFilter|NeighborhoodConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ReflectImageFilter|ReflectImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:RescaleIntensityImageFilter|RescaleIntensityImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ThresholdSegmentationLevelSetImageFilter|ThresholdSegmentationLevelSetImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:UnaryFunctorImageFilter|UnaryFunctorImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorConfidenceConnectedImageFilter|VectorConfidenceConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorCurvatureAnisotropicDiffusionImageFilter|VectorCurvatureAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorGradientAnisotropicDiffusionImageFilter|VectorGradientAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorIndexSelectionCastImageFilter|VectorIndexSelectionCastImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:WatershedImageFilter|WatershedImageFilter]]
:
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
1708
1702
2006-11-09T20:06:20Z
Jeroen
19
/* '''Converters''' */
wikitext
text/x-wiki
=='''Insight Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Converters'''===
;[[CIBC:Documentation:SCIRun:Reference:Insight:BuildSeedVolume|BuildSeedVolume]]
:Given a point cloud of doubles, create a binary ITK Image of unsigned chars.
;[[CIBC:Documentation:SCIRun:Reference:Insight:FieldToImage|FieldToImage]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:Image2DToImage3D|Image2DToImage3D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:Image3DToImage2D|Image3DToImage2D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageToField|ImageToField]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageToNrrd|ImageToNrrd]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:NrrdToImage|NrrdToImage]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:RGBPixelToVector|RGBPixelToVector]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorToRGBPixel|VectorToRGBPixel]]
:
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:Insight:ChooseImage|ChooseImage]]
:ChooseImage takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ColorImageReaderFloat2D|ColorImageReaderFloat2D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ColorImageReaderFloat3D|ColorImageReaderFloat3D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageFileWriter|ImageFileWriter]]
:Writes an ITK Image.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageReaderFloat2D|ImageReaderFloat2D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageReaderFloat3D|ImageReaderFloat3D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:SliceReader|SliceReader]]
:Read in a 3D volume a slice at a time.
==='''Filters'''===
;[[CIBC:Documentation:SCIRun:Reference:Insight:BinaryDilateImageFilter|BinaryDilateImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:BinaryErodeImageFilter|BinaryErodeImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:BinaryThresholdImageFilter|BinaryThresholdImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:CannySegmentationLevelSetImageFilter|CannySegmentationLevelSetImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ConfidenceConnectedImageFilter|ConfidenceConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ConnectedThresholdImageFilter|ConnectedThresholdImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:CurvatureAnisotropicDiffusionImageFilter|CurvatureAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:CurvatureFlowImageFilter|CurvatureFlowImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:DiscreteGaussianImageFilter|DiscreteGaussianImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ExtractImageFilter|ExtractImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GeodesicActiveContourLevelSetImageFilter|GeodesicActiveContourLevelSetImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GradientAnisotropicDiffusionImageFilter|GradientAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GradientMagnitudeImageFilter|GradientMagnitudeImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GradientRecursiveGaussianImageFilter|GradientRecursiveGaussianImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GrayscaleDilateImageFilter|GrayscaleDilateImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GrayscaleErodeImageFilter|GrayscaleErodeImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:IsolatedConnectedImageFilter|IsolatedConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:MeanImageFilter|MeanImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:NeighborhoodConnectedImageFilter|NeighborhoodConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ReflectImageFilter|ReflectImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:RescaleIntensityImageFilter|RescaleIntensityImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ThresholdSegmentationLevelSetImageFilter|ThresholdSegmentationLevelSetImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:UnaryFunctorImageFilter|UnaryFunctorImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorConfidenceConnectedImageFilter|VectorConfidenceConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorCurvatureAnisotropicDiffusionImageFilter|VectorCurvatureAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorGradientAnisotropicDiffusionImageFilter|VectorGradientAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorIndexSelectionCastImageFilter|VectorIndexSelectionCastImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:WatershedImageFilter|WatershedImageFilter]]
:
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:Insight:BinaryDilateImageFilter
0
1696
3840
2006-11-09T20:08:58Z
Jeroen
19
wikitext
text/x-wiki
=='''BinaryDilateImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter data using BinaryDilateImageFilter.
====Detailed Description====
Fast binary dilation.
BinaryDilateImageFilter is a binary dilation morphologic operation. This implementation is based on the papers:
L.Vincent "Morphological transformations of binary images with arbitrary structuring elements", and N.Nikopoulos et al. "An efficient algorithm for 3d binary morphological transformations with 3d structuring elements for arbitrary size and shape". IEEE Transactions on Image Processing. Vol. 9. No. 3. 2000. pp. 283-286.
Gray scale images can be processed as binary images by selecting a "DilateValue". Pixel values matching the dilate value are considered the "foreground" and all other pixels are "background". This is useful in processing segmented images where all pixels in segment #1 have value 1 and pixels in segment #2 have value 2, etc. A particular "segment number" can be processed. DilateValue defaults to the maximum possible value of the PixelType.
The structuring element is assumed to be composed of binary values (zero or one). Only elements of the structuring element having values > 0 are candidates for affecting the center pixel. A reasonable choice of structuring element is itk::BinaryBallStructuringElement.
This module encapsulates the functionality of the ITK Filter itk::BinaryErodeImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:BinaryErodeImageFilter
0
1697
3841
2006-11-09T20:10:05Z
Jeroen
19
wikitext
text/x-wiki
=='''BinaryErodeImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter data using BinaryErodeImageFilter.
====Detailed Description====
Fast binary erosion.
BinaryErodeImageFilter is a binary erosion morphologic operation. This implementation is based on the papers:
L.Vincent "Morphological transformations of binary images with arbitrary structuring elements", and N.Nikopoulos et al. "An efficient algorithm for 3d binary morphological transformations with 3d structuring elements for arbitrary size and shape". IEEE Transactions on Image Processing. Vol. 9. No. 3. 2000. pp. 283-286.
Gray scale images can be processed as binary images by selecting a "ErodeValue". Pixel values matching the dilate value are considered the "foreground" and all other pixels are "background". This is useful in processing segmented images where all pixels in segment #1 have value 1 and pixels in segment #2 have value 2, etc. A particular "segment number" can be processed. ErodeValue defaults to the maximum possible value of the PixelType.
The structuring element is assumed to be composed of binary values (zero or one). Only elements of the structuring element having values > 0 are candidates for affecting the center pixel. A reasonable choice of structuring element is itk::BinaryBallStructuringElement.
This class was contributed by Gaetan Lehmann from INRA de Jouy-en-Josas.
This module encapsulates the functionality of the ITK Filter itk::BinaryErodeImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:BinaryThresholdImageFilter
0
1698
1704
2006-11-09T20:11:20Z
Jeroen
19
wikitext
text/x-wiki
=='''BinaryThresholdImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s):
Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter data using BinaryThresholdImageFilter.
====Detailed Description====
This filter produces an output image whose pixels are either one of two values ( OutsideValue or InsideValue ), depending on whether of not the corresponding input image pixel lie between the two thresholds ( LowerThreshold and UpperThreshold ). Values equal to either threshold is considered to be between the thresholds. This module encapsulates the functionality of the ITK Filter itk::BinaryThresholdImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:BuildSeedVolume
0
1699
3843
2006-11-09T20:12:24Z
Jeroen
19
wikitext
text/x-wiki
=='''BuildSeedVolume'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Converters
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Given a point cloud of doubles, create a binary ITK Image of unsigned chars.
====Detailed Description====
This module creates an ITK image from a point cloud of doubles.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:CannySegmentationLevelSetImageFilter
0
1700
1703
2006-11-09T20:13:47Z
Jeroen
19
wikitext
text/x-wiki
=='''CannySegmentationLevelSetImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s):
Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter data using CannySegmentationLvelSetImageFilter.
====Detailed Description====
Segments structures in images based on image features derived from pseudo-canny-edges. This module encapsulates the functionality of the ITK Filter itk::CannySegmentationLevelSetImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:CannySegmentationLevelSetImageFilter
0
1700
3844
1703
2006-11-09T20:14:06Z
Jeroen
19
/* Information */
wikitext
text/x-wiki
=='''CannySegmentationLevelSetImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter data using CannySegmentationLvelSetImageFilter.
====Detailed Description====
Segments structures in images based on image features derived from pseudo-canny-edges. This module encapsulates the functionality of the ITK Filter itk::CannySegmentationLevelSetImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:BinaryThresholdImageFilter
0
1698
3842
1704
2006-11-09T20:14:47Z
Jeroen
19
/* Information */
wikitext
text/x-wiki
=='''BinaryThresholdImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter data using BinaryThresholdImageFilter.
====Detailed Description====
This filter produces an output image whose pixels are either one of two values ( OutsideValue or InsideValue ), depending on whether of not the corresponding input image pixel lie between the two thresholds ( LowerThreshold and UpperThreshold ). Values equal to either threshold is considered to be between the thresholds. This module encapsulates the functionality of the ITK Filter itk::BinaryThresholdImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:FieldToImage
0
1701
1705
2006-11-09T20:19:05Z
Jeroen
19
wikitext
text/x-wiki
=='''ImageToField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Converters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert an ITK Image object into a Field object.
====Detailed Description====
Converts an ITK Image to a SCIRun Field. If the radiobutton "Reference ITK Image Data" is selected, then the data is not copied and an ITKImageField or ITKLatVolField will result. If the "Copy Data" option is selected, the data is copied and an ImageField or LatVolField will be created. This module will convert Scalar Data Vector Data, and RGBPixel data.
----
===Frequently Asked Questions===
;The field generated by this module does cause errors in a downstream module?
:Although ITKImageField and ITKLatVolField mimic parts of the field data object, not every function is available in these objects and hence generating these objects will cause some modules to fail. Use the "Copy Data" option instead this should prevent some conversion options.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
1707
1705
2006-11-09T20:23:48Z
Jeroen
19
/* '''ImageToField''' */
wikitext
text/x-wiki
=='''ImageToField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Converters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert an ITK Image object into a Field object.
====Detailed Description====
Converts an ITK Image to a SCIRun Field. If the radiobutton "Reference ITK Image Data" is selected, then the data is not copied and an ITKImageField or ITKLatVolField will result. If the "Copy Data" option is selected, the data is copied and an ImageField or LatVolField will be created. This module will convert Scalar Data Vector Data, and RGBPixel data.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
3845
1707
2006-11-09T20:25:56Z
Jeroen
19
/* '''ImageToField''' */
wikitext
text/x-wiki
=='''ImageToField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Converters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a Field object into a ITK Image.
====Detailed Description====
This module converts a Field into an ITK image. This module only works if the field is a Image or a LatVolMesh. Any other field class will result in an error.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:Image2DToImage3D
0
1702
3847
2006-11-09T20:20:45Z
Jeroen
19
wikitext
text/x-wiki
=='''Image2DToImage3D'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Converters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a 2D ITK image into a 3D ITK image.
====Detailed Description====
This module allows you to cast an 2D image to 3D image. The resulting 3D image will have a single slice. See the [http://www.itk.org ITK web site] for detailed information on the itk::CastImageFilter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:Image3DToImage2D
0
1703
3848
2006-11-09T20:21:53Z
Jeroen
19
wikitext
text/x-wiki
=='''Image3DToImage2D'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Converters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Extract the first slice of a 3D ITK object.
====Detailed Description====
This module allows you to cast an image to a lower dimension, the first "slice" (or line or volume) will be extracted. If you want to convert an image to a lower dimension and specify the subspace (i.e. which slice of a volume, etc.) then you should use ExtractImageFilter. See the <ulink text="http://www.itk.org">ITK web site</ulink> for detailed information on the itk::CastImageFilter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:ImageToField
0
1704
1706
2006-11-09T20:23:03Z
Jeroen
19
wikitext
text/x-wiki
=='''ImageToField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Converters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert an image to a SCIRun field.
====Detailed Description====
Converts an ITK Image to a Field. If the radiobutton "Reference ITK Image Data" is selected, then the data is not copied and an ITKImageField or ITKLatVolField will result. If the "Copy Data" option is selected, the data is copied and an ImageField or LatVolField will be created. This module will convert Scalar Data Vector Data, and RGBPixel data.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
3849
1706
2006-11-09T20:24:12Z
Jeroen
19
wikitext
text/x-wiki
=='''ImageToField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Converters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert an image to a SCIRun field.
====Detailed Description====
Converts an ITK Image to a Field. If the radiobutton "Reference ITK Image Data" is selected, then the data is not copied and an ITKImageField or ITKLatVolField will result. If the "Copy Data" option is selected, the data is copied and an ImageField or LatVolField will be created. This module will convert Scalar Data Vector Data, and RGBPixel data.
----
===Frequently Asked Questions===
;The field generated by this module does cause errors in a downstream module?
:Although ITKImageField and ITKLatVolField mimic parts of the field data object, not every function is available in these objects and hence generating these objects will cause some modules to fail. Use the "Copy Data" option instead this should prevent some conversion options.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:ImageToNrrd
0
1705
3846
2006-11-09T20:26:35Z
Jeroen
19
wikitext
text/x-wiki
=='''ImageToNrrd'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Converters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert an ITK Image to a NRRD.
====Detailed Description====
Convert an ITK Image to a NRRD.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:NrrdToImage
0
1706
3850
2006-11-09T20:27:22Z
Jeroen
19
wikitext
text/x-wiki
=='''NrrdToImage'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Converters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert a NRRD to an ITK Image.
====Detailed Description====
Convert a NRRD to an ITK Image.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:RGBPixelToVector
0
1707
3851
2006-11-09T20:28:21Z
Jeroen
19
wikitext
text/x-wiki
=='''RGBPixelToVector'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Converters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Convert an image of type itk::RGBPixel to an image of type itk::Vector.
====Detailed Description====
Converts an image of type itk::RGBPixel to an image of type itk::Vector. See the [http://www.itk.org ITK web site] for detailed information on the itk::VectorCastImageFilter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:VectorToRGBPixel
0
1708
3852
2006-11-09T20:29:18Z
Jeroen
19
wikitext
text/x-wiki
=='''VectorToRGBPixel'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Converters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Converts an image of type itk::Vector to an image of type itk::RGBPixel.
====Detailed Description====
Converts an image of type itk::Vector to an image of type itk::RGBPixel. See the [http://www.itk.org ITK web site] for detailed information on the itk::VectorCastImageFilter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight
0
1695
1709
1708
2006-11-09T20:32:46Z
Jeroen
19
/* '''Converters''' */
wikitext
text/x-wiki
=='''Insight Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Converters'''===
;[[CIBC:Documentation:SCIRun:Reference:Insight:BuildSeedVolume|BuildSeedVolume]]
:This module converts a point cloud of doubles into a binary ITK Image of unsigned chars.
;[[CIBC:Documentation:SCIRun:Reference:Insight:FieldToImage|FieldToImage]]
:This module converts a Field into an ITK Image.
;[[CIBC:Documentation:SCIRun:Reference:Insight:Image2DToImage3D|Image2DToImage3D]]
:This module converts a 2D ITK Image into a 3D ITK Image.
;[[CIBC:Documentation:SCIRun:Reference:Insight:Image3DToImage2D|Image3DToImage2D]]
:This module extracts the first slice from the 3D ITK Image.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageToField|ImageToField]]
:This module converts an ITK image into a field.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageToNrrd|ImageToNrrd]]
:This module converts an ITK image into a nrrd.
;[[CIBC:Documentation:SCIRun:Reference:Insight:NrrdToImage|NrrdToImage]]
:This module converts a nrrd into an ITK image.
;[[CIBC:Documentation:SCIRun:Reference:Insight:RGBPixelToVector|RGBPixelToVector]]
:This module changes the ITK image from an RGB to a vector representation.
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorToRGBPixel|VectorToRGBPixel]]
:This module changes the ITK image from a vector to an RGB representation.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:Insight:ChooseImage|ChooseImage]]
:ChooseImage takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ColorImageReaderFloat2D|ColorImageReaderFloat2D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ColorImageReaderFloat3D|ColorImageReaderFloat3D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageFileWriter|ImageFileWriter]]
:Writes an ITK Image.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageReaderFloat2D|ImageReaderFloat2D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageReaderFloat3D|ImageReaderFloat3D]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:SliceReader|SliceReader]]
:Read in a 3D volume a slice at a time.
==='''Filters'''===
;[[CIBC:Documentation:SCIRun:Reference:Insight:BinaryDilateImageFilter|BinaryDilateImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:BinaryErodeImageFilter|BinaryErodeImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:BinaryThresholdImageFilter|BinaryThresholdImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:CannySegmentationLevelSetImageFilter|CannySegmentationLevelSetImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ConfidenceConnectedImageFilter|ConfidenceConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ConnectedThresholdImageFilter|ConnectedThresholdImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:CurvatureAnisotropicDiffusionImageFilter|CurvatureAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:CurvatureFlowImageFilter|CurvatureFlowImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:DiscreteGaussianImageFilter|DiscreteGaussianImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ExtractImageFilter|ExtractImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GeodesicActiveContourLevelSetImageFilter|GeodesicActiveContourLevelSetImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GradientAnisotropicDiffusionImageFilter|GradientAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GradientMagnitudeImageFilter|GradientMagnitudeImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GradientRecursiveGaussianImageFilter|GradientRecursiveGaussianImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GrayscaleDilateImageFilter|GrayscaleDilateImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GrayscaleErodeImageFilter|GrayscaleErodeImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:IsolatedConnectedImageFilter|IsolatedConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:MeanImageFilter|MeanImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:NeighborhoodConnectedImageFilter|NeighborhoodConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ReflectImageFilter|ReflectImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:RescaleIntensityImageFilter|RescaleIntensityImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ThresholdSegmentationLevelSetImageFilter|ThresholdSegmentationLevelSetImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:UnaryFunctorImageFilter|UnaryFunctorImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorConfidenceConnectedImageFilter|VectorConfidenceConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorCurvatureAnisotropicDiffusionImageFilter|VectorCurvatureAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorGradientAnisotropicDiffusionImageFilter|VectorGradientAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorIndexSelectionCastImageFilter|VectorIndexSelectionCastImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:WatershedImageFilter|WatershedImageFilter]]
:
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
3839
1709
2006-11-09T20:41:33Z
Jeroen
19
/* '''DataIO''' */
wikitext
text/x-wiki
=='''Insight Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Converters'''===
;[[CIBC:Documentation:SCIRun:Reference:Insight:BuildSeedVolume|BuildSeedVolume]]
:This module converts a point cloud of doubles into a binary ITK Image of unsigned chars.
;[[CIBC:Documentation:SCIRun:Reference:Insight:FieldToImage|FieldToImage]]
:This module converts a Field into an ITK Image.
;[[CIBC:Documentation:SCIRun:Reference:Insight:Image2DToImage3D|Image2DToImage3D]]
:This module converts a 2D ITK Image into a 3D ITK Image.
;[[CIBC:Documentation:SCIRun:Reference:Insight:Image3DToImage2D|Image3DToImage2D]]
:This module extracts the first slice from the 3D ITK Image.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageToField|ImageToField]]
:This module converts an ITK image into a field.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageToNrrd|ImageToNrrd]]
:This module converts an ITK image into a nrrd.
;[[CIBC:Documentation:SCIRun:Reference:Insight:NrrdToImage|NrrdToImage]]
:This module converts a nrrd into an ITK image.
;[[CIBC:Documentation:SCIRun:Reference:Insight:RGBPixelToVector|RGBPixelToVector]]
:This module changes the ITK image from an RGB to a vector representation.
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorToRGBPixel|VectorToRGBPixel]]
:This module changes the ITK image from a vector to an RGB representation.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:Insight:ChooseImage|ChooseImage]]
:ChooseImage takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ColorImageReaderFloat2D|ColorImageReaderFloat2D]]
:This module reads a 2D color image as an ITK image of floats.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ColorImageReaderFloat3D|ColorImageReaderFloat3D]]
:This module reads a 3D color image as an ITK image of floats.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageFileWriter|ImageFileWriter]]
:This module exports an ITK Image.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageReaderFloat2D|ImageReaderFloat2D]]
:This module reads a 2D image as an ITK image of floats.
;[[CIBC:Documentation:SCIRun:Reference:Insight:ImageReaderFloat3D|ImageReaderFloat3D]]
:This module reads a 3D image as an ITK image of floats.
;[[CIBC:Documentation:SCIRun:Reference:Insight:SliceReader|SliceReader]]
:This module reads a 3D volume a slice at a time.
==='''Filters'''===
;[[CIBC:Documentation:SCIRun:Reference:Insight:BinaryDilateImageFilter|BinaryDilateImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:BinaryErodeImageFilter|BinaryErodeImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:BinaryThresholdImageFilter|BinaryThresholdImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:CannySegmentationLevelSetImageFilter|CannySegmentationLevelSetImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ConfidenceConnectedImageFilter|ConfidenceConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ConnectedThresholdImageFilter|ConnectedThresholdImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:CurvatureAnisotropicDiffusionImageFilter|CurvatureAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:CurvatureFlowImageFilter|CurvatureFlowImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:DiscreteGaussianImageFilter|DiscreteGaussianImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ExtractImageFilter|ExtractImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GeodesicActiveContourLevelSetImageFilter|GeodesicActiveContourLevelSetImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GradientAnisotropicDiffusionImageFilter|GradientAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GradientMagnitudeImageFilter|GradientMagnitudeImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GradientRecursiveGaussianImageFilter|GradientRecursiveGaussianImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GrayscaleDilateImageFilter|GrayscaleDilateImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:GrayscaleErodeImageFilter|GrayscaleErodeImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:IsolatedConnectedImageFilter|IsolatedConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:MeanImageFilter|MeanImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:NeighborhoodConnectedImageFilter|NeighborhoodConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ReflectImageFilter|ReflectImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:RescaleIntensityImageFilter|RescaleIntensityImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:ThresholdSegmentationLevelSetImageFilter|ThresholdSegmentationLevelSetImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:UnaryFunctorImageFilter|UnaryFunctorImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorConfidenceConnectedImageFilter|VectorConfidenceConnectedImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorCurvatureAnisotropicDiffusionImageFilter|VectorCurvatureAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorGradientAnisotropicDiffusionImageFilter|VectorGradientAnisotropicDiffusionImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:VectorIndexSelectionCastImageFilter|VectorIndexSelectionCastImageFilter]]
:
;[[CIBC:Documentation:SCIRun:Reference:Insight:WatershedImageFilter|WatershedImageFilter]]
:
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:Insight:ChooseImage
0
1709
3853
2006-11-09T20:34:22Z
Jeroen
19
wikitext
text/x-wiki
=='''ChooseImage'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: DataIO
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
ChooseImage takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
====Detailed Description====
ChooseImage takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI. If the Use first valid image option is checked, the module will disregard the port index and iterate over the input ports, passing the first valid data downstream.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:ColorImageReaderFloat2D
0
1710
3854
2006-11-09T20:35:18Z
Jeroen
19
wikitext
text/x-wiki
=='''ColorImageReaderFloat2D'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: DataIO
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module uses the itk::ImageFileReader to read in a 2D Color Image as floats.
====Detailed Description====
This module uses the itk::ImageFileReader to read in a 2D Color Image as floats. The output is an image of Vectors of size three. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:ColorImageReaderFloat3D
0
1711
3855
2006-11-09T20:36:08Z
Jeroen
19
wikitext
text/x-wiki
=='''ColorImageReaderFloat3D'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: DataIO
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module uses the itk::ImageFileReader to read in a 3D Color Image as floats.
====Detailed Description====
This module uses the itk::ImageFileReader to read in a 3D Color Image as floats. The output is an image of Vectors of size three. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:ImageFileWriter
0
1712
3856
2006-11-09T20:36:53Z
Jeroen
19
wikitext
text/x-wiki
=='''ImageFileWriter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: DataIO
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Writes an ITK Image.
====Detailed Description====
This module writes out an ITK Image in either Meta Image format, PNG, or JPG.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:ImageReaderFloat2D
0
1713
3857
2006-11-09T20:38:04Z
Jeroen
19
wikitext
text/x-wiki
=='''ImageReaderFloat2D'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: DataIO
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module uses the itk::ImageFileReader to read in a 2D Image as floats.
====Detailed Description====
This module uses the itk::ImageFileReader to read in a 2D Image as floats. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:ImageReaderFloat3D
0
1714
3858
2006-11-09T20:38:48Z
Jeroen
19
wikitext
text/x-wiki
=='''ImageReaderFloat3D'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: DataIO
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module uses the itk::ImageFileReader to read in a 2D Image as floats.
====Detailed Description====
This module uses the itk::ImageFileReader to read in a 2D Image as floats. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:SliceReader
0
1715
3859
2006-11-09T20:39:24Z
Jeroen
19
wikitext
text/x-wiki
=='''SliceReader'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: DataIO
:Author(s): Darby Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Read in a 3D volume a slice at a time.
====Detailed Description====
Read in a 3D volume a slice at a time. Slicing is done along the last axis. This module currently only works for the case of an Analyze header file (.hdr) and Analyze image file (.img). The basename of these files must be the same and the image file cannot be compressed. If Cast Output is checked, the output image will be cast to a float image.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:WatershedImageFilter
0
1716
1710
2006-11-09T20:42:57Z
Jeroen
19
wikitext
text/x-wiki
=='''WatershedImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s):
Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using WatershedImageFilter.
====Detailed Description====
A low-level image analysis algorithm that automatically produces a hierarchy of segmented, labeled images from a scalar-valued image input. This module encapsulates the functionality of the ITK Filter itk::WatershedImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
3860
1710
2006-11-09T20:43:15Z
Jeroen
19
/* Information */
wikitext
text/x-wiki
=='''WatershedImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using WatershedImageFilter.
====Detailed Description====
A low-level image analysis algorithm that automatically produces a hierarchy of segmented, labeled images from a scalar-valued image input. This module encapsulates the functionality of the ITK Filter itk::WatershedImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:VectorIndexSelectionCastImageFilter
0
1717
3861
2006-11-09T20:44:39Z
Jeroen
19
wikitext
text/x-wiki
=='''VectorIndexSelectionCastImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using VectorIndexSelectionCastImageFilter.
====Detailed Description====
Extracts the selected index of the vector that is the input pixel type. This module encapsulates the functionality of the ITK Filter itk::VectorIndexSelectionCastImageFilter. See the [www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:VectorGradientAnisotropicDiffusionImageFilter
0
1718
1711
2006-11-09T20:45:43Z
Jeroen
19
wikitext
text/x-wiki
=='''VectorGradientAnisotropicDiffusionImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s):
Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Fiter image using VectorGradientAnisotropicDiffusionImageFilter.
====Detailed Description====
This filter performs anisotropic diffusion on a vector itk::Image using the anisotropic diffusion function implemented implemented in itkVectorGradientNDAnisotropicDiffusionFunction. For detailed information on anisotropic diffusion see itkAnisotropicDiffusionFunction, itkVectorGradientNDAnisotropicDiffusionFunction, and itkGradientAnisotropicDiffusionFunction. This module encapsulates the functionality of the ITK Filter itk::VectorGradientAnisotropicDiffusionImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
3862
1711
2006-11-09T20:46:05Z
Jeroen
19
/* Information */
wikitext
text/x-wiki
=='''VectorGradientAnisotropicDiffusionImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Fiter image using VectorGradientAnisotropicDiffusionImageFilter.
====Detailed Description====
This filter performs anisotropic diffusion on a vector itk::Image using the anisotropic diffusion function implemented implemented in itkVectorGradientNDAnisotropicDiffusionFunction. For detailed information on anisotropic diffusion see itkAnisotropicDiffusionFunction, itkVectorGradientNDAnisotropicDiffusionFunction, and itkGradientAnisotropicDiffusionFunction. This module encapsulates the functionality of the ITK Filter itk::VectorGradientAnisotropicDiffusionImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Project:Matlab
0
1076
1713
1712
2006-11-09T20:46:48Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functions such as contour(...), surf(...), mesh(...), etc?
9) How to create a combined visualization within SCIRun?
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
1734
1713
2006-11-09T20:52:29Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functions such as contour(...), surf(...), mesh(...), etc?
9) How to create a combined visualization within SCIRun?
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
CIBC:Documentation:SCIRun:Reference:Insight:VectorCurvatureAnisotropicDiffusionImageFilter
0
1719
3863
2006-11-09T20:47:14Z
Jeroen
19
wikitext
text/x-wiki
=='''VectorCurvatureAnisotropicDiffusionImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using VectorCurvatureAnisotropicDiffusionImageFilter
====Detailed Description====
This filter performs anisotropic diffusion on a vector itk::Image using the modified curvature diffusion equation (MCDE) implemented in itkVectorCurvatureNDAnisotropicDiffusionFunction. For detailed information on anisotropic diffusion and the MCDE see itkAnisotropicDiffusionFunction, itkVectorCurvatureNDAnisotropicDiffusionFunction, and itkCurvatureNDAnisotropicDiffusionFunction. This module encapsulates the functionality of the ITK Filter itk::VectorCurvatureAnisotropicDiffusionImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:VectorConfidenceConnectedImageFilter
0
1720
3864
2006-11-09T20:49:01Z
Jeroen
19
wikitext
text/x-wiki
=='''VectorConfidenceConnectedImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using VectorConfidenceConnectedImageFilter.
====Detailed Description====
This filter extracts a connected set of pixels whose pixel intensities are consistent with the pixel statistics of a seed point. The mean and variance across a neighborhood (8-connected, 26-connected, etc.) are calculated for a seed point. Then pixels connected to this seed point whose values are within the confidence interval for the seed point are grouped. The width of the confidence interval is controlled by the "Multiplier" variable (the confidence interval is the mean plus or minus the "Multiplier" times the standard deviation). If the intensity variations across a segment were gaussian, a "Multiplier" setting of 2.5 would define a confidence interval wide enough to capture 99% of samples in the segment. After this initial segmentation is calculated, the mean and variance are re-calculated. All the pixels in the previous segmentation are used to calculate the mean the standard deviation (as opposed to using the pixels in the neighborhood of the seed point). The segmentation is then recalculted using these refined estimates for the mean and variance of the pixel values. This process is repeated for the specified number of iterations. Setting the "NumberOfIterations" to zero stops the algorithm after the initial segmentation from the seed point. NOTE: the lower and upper threshold are restricted to lie within the valid numeric limits of the input data pixel type. Also, the limits may be adjusted to contain the seed point's intensity. This module encapsulates the functionality of the ITK Filter itk::VectorConfidenceConnectedImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:UnaryFunctorImageFilter
0
1721
3865
2006-11-09T20:49:48Z
Jeroen
19
wikitext
text/x-wiki
=='''UnaryFunctorImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using UnaryFunctorImageFilter.
====Detailed Description====
Implements pixel-wise generic operation on one image. This module encapsulates the functionality of the ITK Filter itk::UnaryFunctorImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:ThresholdSegmentationLevelSetImageFilter
0
1722
3866
2006-11-09T20:50:29Z
Jeroen
19
wikitext
text/x-wiki
=='''ThresholdSegmentationLevelSetImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using ThresholdSegmentationLevelSetImageFilter
====Detailed Description====
Segments structures in images based on image features derived from pseudo-canny-edges.
This module encapsulates the functionality of the ITK Filter itk::ThresholdSegmentationLevelSetImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:RescaleIntensityImageFilter
0
1723
3867
2006-11-09T20:51:34Z
Jeroen
19
wikitext
text/x-wiki
=='''RescaleIntensityImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using RescaleIntensityImageFilter.
====Detailed Description====
Applies pixel-wise a linear transformation to the intensity values of input image pixels. The linear transformation is defined by the user in terms of the minimum and maximum values that the output image should have. This module encapsulates the functionality of the ITK Filter itk::RescaleIntensityImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:ReflectImageFilter
0
1724
3868
2006-11-09T20:52:31Z
Jeroen
19
wikitext
text/x-wiki
=='''ReflectImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using ReflectImageFilter.
====Detailed Description====
Implements a Reflection of an image along a selected direction. This class is parameterized over the type of the input image and the type of the output image. This module encapsulates the functionality of the ITK Filter itk::ReflectImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:NeighborhoodConnectedImageFilter
0
1725
3869
2006-11-09T20:53:38Z
Jeroen
19
wikitext
text/x-wiki
=='''NeighborhoodConnectedImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using NeighborhoodConnectedImageFilter.
====Detailed Description====
Label pixels that are connected to a seed and lie within a neighborhood. This module encapsulates the functionality of the ITK Filter itk::NeighborhoodConnectedImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:MeanImageFilter
0
1726
3870
2006-11-09T20:55:00Z
Jeroen
19
wikitext
text/x-wiki
=='''MeanImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using MeanImageFilter.
====Detailed Description====
Applies an averaging filter to an image. Computes an image where a given pixel is the mean value of the the pixels in a neighborhood about the corresponding input pixel. This module encapsulates the functionality of the ITK Filter itk::MeanImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:IsolatedConnectedImageFilter
0
1727
3871
2006-11-09T20:55:48Z
Jeroen
19
wikitext
text/x-wiki
=='''IsolatedConnectedImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using IsolatedConnectedImageFilter.
====Detailed Description====
Label pixels that are connected to one seed but not another. IsolatedConnectedImageFilter labels pixels with ReplaceValue that are connected to Seed1 AND NOT connected to Seed2. The filter adjusts the upper threshold until the two seeds are not connected. The user supplies a Lower threshold. The algorithm uses a binary search to adjust the upper threshold, starting at UpperValueLimit. UpperValueLimit defaults to the largest possible value for the InputImagePixelType. This module encapsulates the functionality of the ITK Filter itk::IsolatedConnectedImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:GrayscaleErodeImageFilter
0
1728
3872
2006-11-09T20:56:32Z
Jeroen
19
wikitext
text/x-wiki
=='''GrayscaleErodeImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
====Detailed Description====
Gray scale erosion of an image. Erode an image using grayscale morphology. Erosion takes the minimum of all the pixels identified by the structuring element. The structuring element is assumed to be composed of binary values (zero or one). Only elements of the structuring element having values > 0 are candidates for affecting the center pixel.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:GrayscaleDilateImageFilter
0
1729
3873
2006-11-09T20:57:04Z
Jeroen
19
wikitext
text/x-wiki
=='''GrayscaleDilateImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
====Detailed Description====
Gray scale dilation of an image. Dilate an image using grayscale morphology. Dilation takes the maximum of all the pixels identified by the structuring element. The structuring element is assumed to be composed of binary values (zero or one). Only elements of the structuring element having values > 0 are candidates for affecting the center pixel.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:GradientRecursiveGaussianImageFilter
0
1730
3874
2006-11-09T20:57:56Z
Jeroen
19
wikitext
text/x-wiki
=='''GradientRecursiveGaussianImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using GradientRecursiveGaussianImageFilter.
====Detailed Description====
Computes the gradient of an image by convolution with the first derivative of a Gaussian. This module encapsulates the functionality of the ITK Filter itk::GradientRecursiveGaussianImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:GradientMagnitudeImageFilter
0
1731
3875
2006-11-09T20:58:57Z
Jeroen
19
wikitext
text/x-wiki
=='''GradientMagnitudeImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using GradientMagnitudeImageFilter.
====Detailed Description====
Computes the gradient magnitude of an image region at each pixel. This module encapsulates the functionality of the ITK Filter itk::GradientMagnitudeImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:GradientAnisotropicDiffusionImageFilter
0
1732
3876
2006-11-09T20:59:51Z
Jeroen
19
wikitext
text/x-wiki
=='''GradientAnisotropicDiffusionImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using GradientAnisotropicDiffusionImageFilter.
====Detailed Description====
This filter performs anisotropic diffusion on a scalar itk::Image using the classic Perona-Malik, gradient magnitude based equation implemented in itkGradientNDAnisotropicDiffusionFunction. This module encapsulates the functionality of the ITK Filter itk::GradientAnisotropicDiffusionImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:GeodesicActiveContourLevelSetImageFilter
0
1733
3877
2006-11-09T21:00:38Z
Jeroen
19
wikitext
text/x-wiki
=='''GeodesicActiveContourLevelSetImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Robert Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using GeodesicActiveContourLevelSetImageFilter.
====Detailed Description====
This module encapsulates the functionality of the ITK Filter itk::GeodesicActiveContourLevelSetImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:ExtractImageFilter
0
1734
3878
2006-11-09T21:01:09Z
Jeroen
19
wikitext
text/x-wiki
=='''ExtractImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Darby J Van Uitert
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
====Detailed Description====
Decrease the image size by cropping the image to the selected region bounds.
ExtractImageFilter changes the image boundary of an image by removing pixels outside the target region. The target region must be specified.
ExtractImageFilter also collapses dimensions so that the input image may have more dimensions than the output image (i.e. 4-D input image to a 3-D output image). To specify what dimensions to collapse, the ExtractionRegion must be specified. For any dimension dim where ExtractionRegion.Size[dim] = 0, that dimension is collapsed. The index to collapse on is specified by ExtractionRegion.Index[dim]. For example, we have a image 4D = a 4x4x4x4 image, and we want to get a 3D image, 3D = a 4x4x4 image, specified as [x,y,z,2] from 4D (i.e. the 3rd "time" slice from 4D). The ExtractionRegion.Size = [4,4,4,0] and ExtractionRegion.Index = [0,0,0,2].
The number of dimension in ExtractionRegion.Size and Index must = InputImageDimension. The number of non-zero dimensions in ExtractionRegion.Size must = OutputImageDimension.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:DiscreteGaussianImageFilter
0
1735
3879
2006-11-09T21:01:58Z
Jeroen
19
wikitext
text/x-wiki
=='''DiscreteGaussianImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using DiscreteGaussianImageFilter.
====Detailed Description====
Blurs an image by separable convolution with discrete gaussian kernels. This filter performs Gaussian blurring by separable convolution of an image and a discrete Gaussian operator (kernel). This module encapsulates the functionality of the ITK Filter itk::DiscreteGaussianImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:CurvatureFlowImageFilter
0
1736
1714
2006-11-09T21:02:52Z
Jeroen
19
wikitext
text/x-wiki
=='''CurvatureFlowImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s):
Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using CurvatureFlowImageFilter.
====Detailed Description====
Denoise an image using curvature driven flow. CurvatureFlowImageFilter implements a curvature driven image denoising algorithm. Iso-brightness contours in the grayscale input image are viewed as a level set. The advantage of this approach is that sharp boundaries are preserved with smoothing occuring only within a region. However, it should be noted that continuous application of this scheme will result in the eventual removal of all information as each contour shrinks to zero and disappear. Note that unlike level set segmentation algorithms, the image to be denoised is already the level set and can be set directly as the input using the SetInput() method. This filter has two parameters: the number of update iterations to be performed and the timestep between each update. The timestep should be "small enough" to ensure numerical stability. Stability is guarantee when the timestep meets the CFL (Courant-Friedrichs-Levy) condition. Broadly speaking, this condition ensures that each contour does not move more than one grid position at each timestep. In the literature, the timestep is typically user specified and have to manually tuned to the application. This filter make use of the multi-threaded finite difference solver hierarchy. Updates are computed using a CurvatureFlowFunction object. A zero flux Neumann boundary condition when computing derivatives near the data boundary. This filter may be streamed. To support streaming this filter produces a padded output which takes into account edge effects. The size of the padding is m_NumberOfIterations on each edge. Users of this filter should only make use of the center valid central region. Warning: This filter assumes that the input and output types have the same dimensions. This filter also requires that the output image pixels are of a floating point type. This filter works for any dimensional images. This module encapsulates the functionality of the ITK Filter itk::CurvatureFlowImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
3880
1714
2006-11-09T21:03:08Z
Jeroen
19
/* Information */
wikitext
text/x-wiki
=='''CurvatureFlowImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using CurvatureFlowImageFilter.
====Detailed Description====
Denoise an image using curvature driven flow. CurvatureFlowImageFilter implements a curvature driven image denoising algorithm. Iso-brightness contours in the grayscale input image are viewed as a level set. The advantage of this approach is that sharp boundaries are preserved with smoothing occuring only within a region. However, it should be noted that continuous application of this scheme will result in the eventual removal of all information as each contour shrinks to zero and disappear. Note that unlike level set segmentation algorithms, the image to be denoised is already the level set and can be set directly as the input using the SetInput() method. This filter has two parameters: the number of update iterations to be performed and the timestep between each update. The timestep should be "small enough" to ensure numerical stability. Stability is guarantee when the timestep meets the CFL (Courant-Friedrichs-Levy) condition. Broadly speaking, this condition ensures that each contour does not move more than one grid position at each timestep. In the literature, the timestep is typically user specified and have to manually tuned to the application. This filter make use of the multi-threaded finite difference solver hierarchy. Updates are computed using a CurvatureFlowFunction object. A zero flux Neumann boundary condition when computing derivatives near the data boundary. This filter may be streamed. To support streaming this filter produces a padded output which takes into account edge effects. The size of the padding is m_NumberOfIterations on each edge. Users of this filter should only make use of the center valid central region. Warning: This filter assumes that the input and output types have the same dimensions. This filter also requires that the output image pixels are of a floating point type. This filter works for any dimensional images. This module encapsulates the functionality of the ITK Filter itk::CurvatureFlowImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:CurvatureAnisotropicDiffusionImageFilter
0
1737
3881
2006-11-09T21:04:12Z
Jeroen
19
wikitext
text/x-wiki
=='''CurvatureAnisotropicDiffusionImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using CurvatureAnisotropicDiffusionImageFilter.
====Detailed Description====
This filter performs anisotropic diffusion on a scalar itk::Image using the modified curvature diffusion equation (MCDE) implemented in itkCurvatureNDAnisotropicDiffusionFunction. For detailed information on anisotropic diffusion and the MCDE see itkAnisotropicDiffusionFunction and itkCurvatureNDAnisotropicDiffusionFunction. This module encapsulates the functionality of the ITK Filter itk::CurvatureAnisotropicDiffusionImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:ConnectedThresholdImageFilter
0
1738
3882
2006-11-09T21:05:10Z
Jeroen
19
wikitext
text/x-wiki
=='''ConnectedThresholdImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter data using ConnectedThresholdImageFilter.
====Detailed Description====
Label pixels that are connected to a seed and lie within a range of values. This module encapsulates the functionality of the ITK Filter itk::ConnectedThresholdImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:Insight:ConfidenceConnectedImageFilter
0
1739
3883
2006-11-09T21:05:57Z
Jeroen
19
wikitext
text/x-wiki
=='''ConfidenceConnectedImageFilter'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
:Catagory: Filters
:Author(s): Automatically generated by SCIRun Code Generator
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Filter image using ConfidenceConnectedImageFilter.
====Detailed Description====
This filter extracts a connected set of pixels whose pixel intensities are consistent with the pixel statistics of a seed point. The mean and variance across a neighborhood (8-connected, 26-connected, etc.) are calculated for a seed point. Then pixels connected to this seed point whose values are within the confidence interval for the seed point are grouped. The width of the confidence interval is controlled by the "Multiplier" variable (the confidence interval is the mean plus or minus the "Multiplier" times the standard deviation). If the intensity variations across a segment were gaussian, a "Multiplier" setting of 2.5 would define a confidence interval wide enough to capture 99% of samples in the segment. After this initial segmentation is calculated, the mean and variance are re-calculated. All the pixels in the previous segmentation are used to calculate the mean the standard deviation (as opposed to using the pixels in the neighborhood of the seed point). The segmentation is then recalculted using these refined estimates for the mean and variance of the pixel values. This process is repeated for the specified number of iterations. Setting the "NumberOfIterations" to zero stops the algorithm after the initial segmentation from the seed point. NOTE: the lower and upper threshold are restricted to lie within the valid numeric limits of the input data pixel type. Also, the limits may be adjusted to contain the seed point's intensity. This module encapsulates the functionality of the ITK Filter itk::ConfidenceConnectedImageFilter. See the [http://www.itk.org ITK web site] for detailed information on this filter.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:Insight|Insight]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportBundlesToMatlab
0
1645
1716
1715
2006-11-09T21:07:18Z
Jeroen
19
/* Module Description */
wikitext
text/x-wiki
=='''ExportBundlesToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportBundlesToMatlab Module saves a SCIRun NRRD object into a MATLAB .mat file.
====Detailed Description====
====Module Description====
The ExportBundlesToMatlab module exports SCIRun Bundle objects into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file.
Setting up the GUI: Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file.Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB. Execute the module and the file will be written.
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
1717
1716
2006-11-09T21:07:37Z
Jeroen
19
/* See Also */
wikitext
text/x-wiki
=='''ExportBundlesToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportBundlesToMatlab Module saves a SCIRun NRRD object into a MATLAB .mat file.
====Detailed Description====
====Module Description====
The ExportBundlesToMatlab module exports SCIRun Bundle objects into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file.
Setting up the GUI: Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file.Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB. Execute the module and the file will be written.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
3784
1717
2006-11-09T21:08:02Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ExportBundlesToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportBundlesToMatlab Module saves a SCIRun NRRD object into a MATLAB .mat file.
====Detailed Description====
The ExportBundlesToMatlab module exports SCIRun Bundle objects into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file.
Setting up the GUI: Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file.Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB. Execute the module and the file will be written.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportDatatypesToMatlab
0
1647
1720
1718
2006-11-09T21:09:23Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ExportDatatypesToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportDatatypesToMatlab Module saves a SCIRun Field object into a MATLAB .mat file.
====Detailed Description====
====Module Description====
The ExportDatatypesToMatlab module exports SCIRun Field, Matrix, and Nrrd objects into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file. This module combines the functionality of the MatlabFieldsWriter, the MatlabMatricesWriter, and The MatlabNrrdsWriter.
Setting up the GUI: Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file. Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB. Execute the module and the file will be written.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
3786
1720
2006-11-09T21:10:31Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ExportDatatypesToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportDatatypesToMatlab Module saves a SCIRun Field object into a MATLAB .mat file.
====Detailed Description====
The ExportDatatypesToMatlab module exports SCIRun Field, Matrix, and Nrrd objects into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file. This module combines the functionality of the MatlabFieldsWriter, the MatlabMatricesWriter, and The MatlabNrrdsWriter.
Setting up the GUI: Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file. Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB. Execute the module and the file will be written.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportFieldsToMatlab
0
1649
3788
1719
2006-11-09T21:10:06Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ExportFieldsToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportFieldsToMatlab Module saves a SCIRun Field object into a MATLAB .mat file.
====Detailed Description====
The ExportFieldsToMatlab module exports SCIRun Field objects into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file. All fields except for Scanline, Images, and LatVols will be stored as structured matrices. Only Scanlines, Images and LatVols have the possiblity to be stored as dense matrices. The format in which the fields are exported is described in the documentation of the MatlabFieldsReader module.
Setting up the GUI: Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file. Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB. Execute the module and the file will be written.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportMatricesToMatlab
0
1651
3790
1721
2006-11-09T21:11:09Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ExportMatricesToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportMatricesToMatlab module saves a SCIRun matrix in a MATLAB .mat file
====Detailed Description====
The ExportMatricesToMatlab module exports SCIRun matrices into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file. Each of these matrices can be formatted into different formats. Firstly, the datatype of the matrix can be altered. Since matrices in matlab are able to use multiple dataformats, casting the data within the module may be a convenient way of saving space. Secondly, the module has the option to export the data as a structured matrix. This has the advantage that additional properties can be exported to matlab as well. Currently this feature is only used to export the values stored in the property manager, however future version may export more properties of the SCIRun matrix object.
Setting up the GUI: Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file.Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB. Execute the module and the file will be written.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportNrrdsToMatlab
0
1653
3792
1722
2006-11-09T21:11:47Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ExportNrrdsToMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ExportNrrdsToMatlab Module saves a SCIRun NRRD object into a MATLAB .mat file.
====Detailed Description====
The ExportNrrdsToMatlab module exports SCIRun NRRD objects into a MATLAB compatible .mat file. Currently this module supports the fileformat of MATLAB version 5 and higher. The module has multiple input ports that can be used to store multiple MATLAB arrays in one file. Each of these matrices can be formatted into different formats. Firstly, the datatype of the matrix can be altered. Since matrices in matlab are able to use multiple dataformats, casting the data within the module may be a convenient way of saving space. Secondly, the module has the option to export the data as a structured matrix. This has the advantage that additional properties can be exported to matlab as well. Currently this feature is only used to export the values stored in the property manager and the properties stored in the NRRD axis, like units, spacing, etc.
Setting up the GUI: Select a filename for the MATLAB file that needs to be created. You can use the BROWSE button to select an existing file.Setup the format of each matrix and change the names of the matrices to the ones you want to use in MATLAB. Execute the module and the file will be written.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportBundlesFromMatlab
0
1655
3795
1723
2006-11-09T21:12:24Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ImportBundlesFromMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ImportBundlesFromMatlab module reads a matrix from a MATLAB .mat file and exports it as a bundle
====Detailed Description====
This module reads a N-dimensional matrix from MATLAB .mat files and exports this matrix as a Bundle object. Currently only files from matlab version 5 and higher are supported by this module. The module reads dense matrices of any of the supported data classes in matlab (short, int, double, etc.). Sparse matrices however are not supported by this module. Use the MODULE REFERENCE module to read sparse matrices. In order to facilitate the selection process the module will list all matrices in the file that are compatible with the SCIRun Bundle class and will select the most obvious one as a default.
Follow the next two steps in order to setup the GUI properly: Choose the MATLAB file that contains the matrix data. You can either use the BROWSE button to select a file or enter the filename in the filename entry on top of the GUI and press the OPEN button to list the contents of the file in the listbox in the center of the GUI.
Next the MATLAB matrices in the file need to be connected to an output port. In order to do this click on one of the PORT buttons and then select the MATLAB matrix you want to load on that outport. Note that for convenience the first suitable matrix in the file is automatically connected to port 1, when a MATLAB file is opened. Hence, if your file only contains one field, you can skip this step as the matrix will be selected automatically.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportColorMapsFromMatlab
0
1657
3797
1724
2006-11-09T21:12:52Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ImportColorMapsFromMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ImportColorMapsFromMatlab module reads a matrix from a MATLAB file
====Detailed Description====
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportDatatypesFromMatlab
0
1659
3799
1725
2006-11-09T21:15:03Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ImportDatatypesFromMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ImportDatatypesFromMatlab module reads SCIRun fields, SCIRun Matrices, and SCIRun Nrrds from a MATLAB file.
====Detailed Description====
This module takes a specially prepared MATLAB file and converts it into a SCIRun Field, Matrix, or Nrrd object. Currently only files from matlab version 5 and higher are supported by this module. The GUI of the module lets the user choose one MATLAB file and subsequently displays all the matrices inside the file. Currently the implementation only shows those MATLAB matrices for which a suitable converter exists, the other ones are not shown. Hence, if your MATLAB matrix does not show up in the selection window the module does not know how to translate the that data set into a SCIRun Field object. Since, a MATLAB file can contain multiple MATLAB matrices, the module is equipped with nine output ports. Three for SCIRun Fields, three for SCIRun matrices, and three for SCIRun Nrrds. By selecting the port the module will show which conversion options are available. This module is a combination of the MatlabFieldsReader, the MatlabNrrdsReader and the MatlabMatricesReader and is intended as a way of using one matlab file to specify fields and the accompaning data. Especially since time data cannot yet be stored in a field this module allows the time data to exist as a separate datastream from the same file. This will limit the amount of files that need to be reloaded when all the data is contained in one matlab file. Depending on how the user configures the module, each output port can represent one of the MATLAB matrices in the file. Hence, multiple geometries/fields/matrices/nrrds can be stored in the same MATLAB file.
Follow the next two steps in order to setup the GUI properly: Choose the MATLAB file that contains the geometry/field/matrices/nrrds data. You can either use the BROWSE button to select a file or enter the filename in the filename entry on top of the GUI and press the OPEN button to list the contents of the file in the listbox in the center of the GUI.
Next the MATLAB matrices in the file need to be connected to an output port. In order to do this click on one of the FIELD/MATRIX/NRRD buttons and then select the MATLAB matrix you want to load on that outport. A FIELD port exports the data as a field, a MATRIX port as a scirun matrix and a NRRD port as a scirun nrrd object. Note that for convenience the first suitable matrix in the file is automatically for the FIELD 1 port. Matrices and nrrds need to be selected before they appear on an output port.
==== Preparing MATLAB files for SCIRun Fields ====
One crucial step for the conversion from MATLAB to SCIRun is a proper preparation of the data files. Since a SCIRun field object is a complex entity, a simple numeric dense matrix is difficult to translate. Hence, it is required that you build a STRUCTURED MATRIX in matlab with some of the fields listed below. Based on the fields that are supplied the data is converted in one of the many types of geometries available in SCIRun. The module will try to match the data you supplied with the closest Field object it finds.
The following sections describe the fields of the structure matrix can be defined and are recognized by the module.
====Unstructured Meshes ====
FIELDNAME .node This field is required for unstructured meshes and defines the position of the nodes within the mesh. This matrix should be a dense 3 by M matrix, where M is the number of nodes.
FIELDNAME .edge This field is required for curve meshes and defines the line elements in the mesh. This matrix should be a dense 2 by N matrix, where N is the number of line segments. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this EDGE matrix is zero, a zero base is assumed.
FIELDNAME .face This field is required for surfaces meshes and defines the surface elements in the mesh. This matrix should be a dense 3 by N matrix for triangulated meshes and a 4 by N matrix for quadsurf meshes. Here N is the number of surface elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this FACE matrix is zero, a zero base is assumed.
FIELDNAME .cell This field is required for volume meshes and defines the volume elements in the mesh. This matrix should be a dense 4 by N matrix for tetrahedral meshes, or a 6 by N matrix for prism shaped volume elements, or a 8 by N matrix for hexahedral elements. Here N is the number of volume elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this CELL matrix is zero, a zero base is assumed.
====Structured Meshes====
FIELDNAMES x , y , AND z The fields X, Y, and Z form the description of a structured mesh. These fields are 1D, 2D, or 3D matrices defining the structured line, surface, or volume data. The connectivity of these meshes is defined by the position of the matrix, neighboring elements are connected. In this definition matrix X defines the x cartesian co-ordinate of each node, matrix Y the y cartesian co-ordinate and matrix Z the z cartesian co-ordinate. This kind of definition is compatible with MATLAB functions such as ndmesh() and sphere().
====Structured regular Meshes====
As structured matlab arrays:
FIELDNAME .dims This field describes the dimensions of the regular grid and is required for making a regular structured mesh. This field is a vector with 1, 2, or 3 elements describing the dimensions in each direction. Hence depending on this field the module creates a line, a surface, or a volume. This field is required for structured regular meshes.
FIELDNAME .transform This field describes a 4x4 matrix which defines an affine transformation, which is applied to the mesh. This matrix describes rotation, translation and scaling of each node in the regular mesh. This field is optional and does not need to be supplied. In case on transform matrix is defined a regular grid with spacing of 1 in each direction will be generated. [NEED TO ADD MORE DETAILS]
As regular dense matrices:
ImageFields and LatVolFields can be entered as well as dense matrices. A 2D matrix will be translated into an ImageField, and a 3D matrix will be translated into a LatVolField. When entering data as regular matrices, the data is assumed to be on the nodes and to be a scalar double field.
Note: The displaying dimensions between matlab and SCIRun are flipped, in matlab the first dimension is along the vertical axis, whereas in SCIRun it is along the horizontal axis. Depending on the application the data may need to be transposed, in order to make to obtain the proper vertical alignment.
====Field Data====
FIELDNAME .field A matrix specifying scalar/vector/tensor data for each node/element in the mesh. Each subsequent element in this vector is added to the next node/element in the field. Use the field FIELDLOCATION to specify where the data should be located. The module detects the type of data. The tensor and respectively the vector dimension is assumed to be the first one.
FIELDNAME .fieldtype A string specifying the type of data stored in field. Currently three value are accepted: 'scalar', 'vector', and 'tensor'. If this type information is omitted it defaults to 'scalar'
FIELDNAME .fieldat The location of the data. This field is a string describing where the data should be located. The default field location is assumed to be the nodes, meaning each node has a scalar, vector, or tensor value. In case the data is at the nodes, this field does not to be specified. This field is a string with the following options: "node", "edge", "face", or "cell".
The way of specifying a field was different in version 1.22 of SCIRun. The modules still support input through the fields 'vectorfield', 'tensorfield', and 'scalarfield'. However to be compatible with future additions this has been changed to a combination of 'field' and 'fieldtype'. The new fieldwriters will use this convention instead of the old one.
The module will try to reconstruct data, for instance if a matrix is transposed, it will detect this and read the data properly. Most of the fields mentioned are optional and are not necessary. Only choose those fields from the list that are needed to describe your data. Currently not every field type supported by SCIRun is implemented in this module. Hopefully future versions will support more data types and have even less restrictive converters.
==== Example 1: preparing MATLAB file ====
The following lines of MATLAB code demonstrate how to structure a matrix for the use in SCIRun:
Assuming that the nodes are specified in nodematrix and the connectivity of these nodes is specified in facematrix
>> geom.node = nodematrix
>> geom.face = facematrix
>> save mymesh.mat geom
Opening the file with the MatlabFieldsReader module will show that there is one data matrix called "geom" whose contents is a TRISURFMESH with no data on any of the node points
In case MATLAB is not available to structure the data, use the MODULE REFERENCE module to read a MATLAB matrix data directly and use the MODULE REFERENCE module to construct a Field out of the Nrrd object.
==== Example 2: Creating a structured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab file with the matlab logo on a structured mesh:
>> [X,Y,DATA] = peaks(100);
>> field.x = X;
>> field.y = Y;
>> field.z = DATA;
>> field.scalarfield = DATA;
>> save myfield field
This will create a surface mesh in the shape of the peaks logo and uses the z value as its data values. Be sure to specify all the three cartensian coordinates, omitting one will result in the module not to recognise the mesh and it will not display the object in its selection box.
==== Exampe 3: Creating an unstructured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab fiel with an unstructured tesselated surface:
>> [X,Y,Z] = ndmesh(1:10,1:10,0);
>> field.node = [X(:)'; Y(:)'; Z(:)'];
>> field.face = delauney(X,Y);
>> field.scalarfield = X(:).^2;
>> save myfield2 field
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportFieldsFromMatlab
0
1661
3801
1726
2006-11-09T21:17:29Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ImportFieldsFromMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ImportFieldsFromMatlab module reads a SCIRun field from a MATLAB file.
====Detailed Description====
This module takes a specially prepared MATLAB file and converts it into a SCIRun Field object. Currently only files from matlab version 5 and higher are supported by this module. The GUI of the module lets the user choose one MATLAB file and subsequently displays all the matrices inside the file. Currently the implementation only shows those MATLAB matrices for which a suitable converter exists, the other ones are not shown. Hence, if your MATLAB matrix does not show up in the selection window the module does not know how to translate the that data set into a SCIRun Field object. Since, a MATLAB file can contain multiple MATLAB matrices, the module is equipped with six output ports. Depending on how the user configures the module, each output port can represent one of the MATLAB matrices in the file. Hence, multiple geometries/fields can be stored in the same MATLAB file.
Follow the next two steps in order to setup the GUI properly: Choose the MATLAB file that contains the geometry/field data. You can either use the BROWSE button to select a file or enter the filename in the filename entry on top of the GUI and press the OPEN button to list the contents of the file in the listbox in the center of the GUI.
Next the MATLAB matrices in the file need to be connected to an output port. In order to do this click on one of the PORT buttons and then select the MATLAB matrix you want to load on that outport. Note that for convenience the first suitable matrix in the file is automatically connected to port 1, when a MATLAB file is opened. Hence, if your file only contains one field, you can skip this step as the matrix will be selected automatically.
==== Preparing MATLAB files for SCIRun Fields ====
One crucial step for the conversion from MATLAB to SCIRun is a proper preparation of the data files. Since a SCIRun field object is a complex entity, a simple numeric dense matrix is difficult to translate. Hence, it is required that you build a STRUCTURED MATRIX in matlab with some of the fields listed below. Based on the fields that are supplied the data is converted in one of the many types of geometries available in SCIRun. The module will try to match the data you supplied with the closest Field object it finds.
The following sections describe the fields of the structure matrix can be defined and are recognized by the module.
====Unstructured Meshes ====
FIELDNAME .node This field is required for unstructured meshes and defines the position of the nodes within the mesh. This matrix should be a dense 3 by M matrix, where M is the number of nodes.
FIELDNAME .edge This field is required for curve meshes and defines the line elements in the mesh. This matrix should be a dense 2 by N matrix, where N is the number of line segments. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this EDGE matrix is zero, a zero base is assumed.
FIELDNAME .face This field is required for surfaces meshes and defines the surface elements in the mesh. This matrix should be a dense 3 by N matrix for triangulated meshes and a 4 by N matrix for quadsurf meshes. Here N is the number of surface elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this FACE matrix is zero, a zero base is assumed.
FIELDNAME .cell This field is required for volume meshes and defines the volume elements in the mesh. This matrix should be a dense 4 by N matrix for tetrahedral meshes, or a 6 by N matrix for prism shaped volume elements, or a 8 by N matrix for hexahedral elements. Here N is the number of volume elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this CELL matrix is zero, a zero base is assumed.
====Structured Meshes====
FIELDNAMES x , y , AND z The fields X, Y, and Z form the description of a structured mesh. These fields are 1D, 2D, or 3D matrices defining the structured line, surface, or volume data. The connectivity of these meshes is defined by the position of the matrix, neighboring elements are connected. In this definition matrix X defines the x cartesian co-ordinate of each node, matrix Y the y cartesian co-ordinate and matrix Z the z cartesian co-ordinate. This kind of definition is compatible with MATLAB functions such as ndmesh() and sphere().
====Structured regular Meshes====
As structured matlab arrays:
FIELDNAME .dims This field describes the dimensions of the regular grid and is required for making a regular structured mesh. This field is a vector with 1, 2, or 3 elements describing the dimensions in each direction. Hence depending on this field the module creates a line, a surface, or a volume. This field is required for structured regular meshes.
FIELDNAME .transform This field describes a 4x4 matrix which defines an affine transformation, which is applied to the mesh. This matrix describes rotation, translation and scaling of each node in the regular mesh. This field is optional and does not need to be supplied. In case on transform matrix is defined a regular grid with spacing of 1 in each direction will be generated. [NEED TO ADD MORE DETAILS]
As regular dense matrices:
ImageFields and LatVolFields can be entered as well as dense matrices. A 2D matrix will be translated into an ImageField, and a 3D matrix will be translated into a LatVolField. When entering data as regular matrices, the data is assumed to be on the nodes and to be a scalar double field.
Note: The displaying dimensions between matlab and SCIRun are flipped, in matlab the first dimension is along the vertical axis, whereas in SCIRun it is along the horizontal axis. Depending on the application the data may need to be transposed, in order to make to obtain the proper vertical alignment.
====Field Data====
FIELDNAME .field A matrix specifying scalar/vector/tensor data for each node/element in the mesh. Each subsequent element in this vector is added to the next node/element in the field. Use the field FIELDLOCATION to specify where the data should be located. The module detects the type of data. The tensor and respectively the vector dimension is assumed to be the first one.
FIELDNAME .fieldtype A string specifying the type of data stored in field. Currently three value are accepted: 'scalar', 'vector', and 'tensor'. If this type information is omitted it defaults to 'scalar'
FIELDNAME .fieldat The location of the data. This field is a string describing where the data should be located. The default field location is assumed to be the nodes, meaning each node has a scalar, vector, or tensor value. In case the data is at the nodes, this field does not to be specified. This field is a string with the following options: "node", "edge", "face", or "cell".
The way of specifying a field was different in version 1.22 of SCIRun. The modules still support input through the fields 'vectorfield', 'tensorfield', and 'scalarfield'. However to be compatible with future additions this has been changed to a combination of 'field' and 'fieldtype'. The new fieldwriters will use this convention instead of the old one.
The module will try to reconstruct data, for instance if a matrix is transposed, it will detect this and read the data properly. Most of the fields mentioned are optional and are not necessary. Only choose those fields from the list that are needed to describe your data. Currently not every field type supported by SCIRun is implemented in this module. Hopefully future versions will support more data types and have even less restrictive converters.
==== Example 1: preparing MATLAB file ====
The following lines of MATLAB code demonstrate how to structure a matrix for the use in SCIRun:
Assuming that the nodes are specified in nodematrix and the connectivity of these nodes is specified in facematrix
>> geom.node = nodematrix
>> geom.face = facematrix
>> save mymesh.mat geom
Opening the file with the ImportFieldsFromMatlab module will show that there is one data matrix called "geom" whose contents is a TRISURFMESH with no data on any of the node points
In case MATLAB is not available to structure the data, use the MODULE REFERENCE module to read a MATLAB matrix data directly and use the MODULE REFERENCE module to construct a Field out of the Nrrd object.
==== Example 2: Creating a structured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab file with the matlab logo on a structured mesh:
>> [X,Y,DATA] = peaks(100);
>> field.x = X;
>> field.y = Y;
>> field.z = DATA;
>> field.scalarfield = DATA;
>> save myfield field
This will create a surface mesh in the shape of the peaks logo and uses the z value as its data values. Be sure to specify all the three cartensian coordinates, omitting one will result in the module not to recognise the mesh and it will not display the object in its selection box.
==== Exampe 3: Creating an unstructured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab fiel with an unstructured tesselated surface:
>> [X,Y,Z] = ndmesh(1:10,1:10,0);
>> field.node = [X(:)'; Y(:)'; Z(:)'];
>> field.face = delauney(X,Y);
>> field.scalarfield = X(:).^2;
>> save myfield2 field
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportMatricesFromMatlab
0
1663
3804
1727
2006-11-09T21:18:10Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ImportMatricesFromMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ImportMatricesFromMatlab module reads a matrix from a MATLAB file
====Detailed Description====
This module imports matrices from MATLAB .mat files. Currently only files from matlab version 5 and higher are supported by this module. The module reads both dense and sparse matrices of any of the supported data classes in matlab (short, int, double, etc.). Currently the SCIRun matrix class only supports doubles, hence every matrix is casted into a double matrix. In order to facilitate the selection process the module will list all matrices in the file that are compatible with the SCIRun matrix class and will select the most obvious one as a default.
Follow the next two steps in order to setup the GUI properly: Choose the MATLAB file that contains the matrix data. You can either use the BROWSE button to select a file or enter the filename in the filename entry on top of the GUI and press the OPEN button to list the contents of the file in the listbox in the center of the GUI.
Next the MATLAB matrices in the file need to be connected to an output port. In order to do this click on one of the PORT buttons and then select the MATLAB matrix you want to load on that outport. Note that for convenience the first suitable matrix in the file is automatically connected to port 1, when a MATLAB file is opened. Hence, if your file only contains one field, you can skip this step as the matrix will be selected automatically.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportNrrdsFromMatlab
0
1665
3806
1728
2006-11-09T21:18:43Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''ImportNrrdsFromMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
The ImportNrrdsFromMatlab module reads a matrix from a MATLAB .mat file and exports it as a Nrrd
====Detailed Description====
This module reads a N-dimensional matrix from MATLAB .mat files and exports this matrix as a Nrrd object. Currently only files from matlab version 5 and higher are supported by this module. The module reads dense matrices of any of the supported data classes in matlab (short, int, double, etc.). Sparse matrices however are not supported by this module. Use the MODULE REFERENCE module to read sparse matrices. In order to facilitate the selection process the module will list all matrices in the file that are compatible with the SCIRun NRRD class and will select the most obvious one as a default.
Follow the next two steps in order to setup the GUI properly: Choose the MATLAB file that contains the matrix data. You can either use the BROWSE button to select a file or enter the filename in the filename entry on top of the GUI and press the OPEN button to list the contents of the file in the listbox in the center of the GUI.
Next the MATLAB matrices in the file need to be connected to an output port. In order to do this click on one of the PORT buttons and then select the MATLAB matrix you want to load on that outport. Note that for convenience the first suitable matrix in the file is automatically connected to port 1, when a MATLAB file is opened. Hence, if your file only contains one field, you can skip this step as the matrix will be selected automatically.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface
0
1090
3230
1729
2006-11-09T21:19:17Z
Jeroen
19
/* '''DataIO''' */
wikitext
text/x-wiki
=='''MatlabInterface Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportBundlesToMatlab|ExportBundlesToMatlab]]
:The ExportBundlesToMatlab Module saves a SCIRun NRRD object into a MATLAB .mat file.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportDatatypesToMatlab|ExportDatatypesToMatlab]]
:The ExportDatatypesToMatlab Module saves a SCIRun Field object into a MATLAB .mat file.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportFieldsToMatlab|ExportFieldsToMatlab]]
:The ExportFieldsToMatlab Module saves a SCIRun Field object into a MATLAB .mat file.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportMatricesToMatlab|ExportMatricesToMatlab]]
:The ExportMatricesToMatlab module saves a SCIRun matrix in a MATLAB .mat file
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ExportNrrdsToMatlab|ExportNrrdsToMatlab]]
:The ExportNrrdsToMatlab Module saves a SCIRun NRRD object into a MATLAB .mat file.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportBundlesFromMatlab|ImportBundlesFromMatlab]]
:The ImportBundlesFromMatlab module reads a matrix from a MATLAB .mat file and exports it as a bundle
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportColorMapsFromMatlab|ImportColorMapsFromMatlab]]
:The ImportColorMapsFromMatlab module reads a matrix from a MATLAB file
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportDatatypesFromMatlab|ImportDatatypesFromMatlab]]
:The ImportDatatypesFromMatlab module reads SCIRun fields, SCIRun Matrices, and SCIRun Nrrds from a MATLAB file.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportFieldsFromMatlab|ImportFieldsFromMatlab]]
:The ImportFieldsFromMatlab module reads a SCIRun field from a MATLAB file.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportMatricesFromMatlab|ImportMatricesFromMatlab]]
:The ImportMatricesFromMatlab module reads a matrix from a MATLAB file
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:ImportNrrdsFromMatlab|ImportNrrdsFromMatlab]]
:The ImportNrrdsFromMatlab module reads a matrix from a MATLAB .mat file and exports it as a Nrrd
==='''Interface'''===
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab|InterfaceWithMatlab]]
:Interactive InterfaceWithMatlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects.
;[[CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlabViaBundles|InterfaceWithMatlabViaBundles]]
:Interactive Matlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects. The difference with the normal Matlab module is that this one uses bundles as input and output to allow for a more flexible interface. Since the use of bundles is more complicated, the Matlab module should be used if fields or matrices need to be adjusted. But for more complicated projects, this module allows for more flexibility.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab
0
1071
1731
1730
2006-11-09T21:19:45Z
Jeroen
19
/* Overview */
wikitext
text/x-wiki
=='''InterfaceWithMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: Interface
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Interactive InterfaceWithMatlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects.
====Detailed Description====
====Overview====
This module launches MATLAB as a separate process under control of SCIRun. The process can be on a remote machine or a local machine. In case the module is running on a remote machine the communication with matlab will be through sockets. In the latter case the entry fields in the middle panel of the GUI will need to be filled out with the IP address (it will automatically do a DNS lookup), the port number and a password. A password is only necessary for a remote MATLAB engine that is configured to require a password when launching MATLAB. The current implementation has an optional password in the matlabegine.rc, if this field is left empty no password check is done. The current implementation does not make use of secure sockets, this implementation is still under development. In order to run multiple MATLAB processes simultaneously different sessions can be launched. Each session on the same machine will share the global workspace in MATLAB and code is being executed sequentially for all modules making use of that session. Hence variables declared in the global workspace can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the MATLAB OUTPUT window. The module needs to be executed in order to launch matlab, but will then remain active until the module is destroyed. Alternatively MATLAB can be launched from the InterfaceWithMatlabEngine Status panel in the right lower corner. It can be disconnected using the 'disconnect' button in the same panel. That the MATLAB process is kept alive between executions is done to smoothen the executing of matlab networks and as well to be able to store variables in matlab's workspace for later usage. However before the module is executed the translation table of SCIRun objects to matlab objects needs to be setup. This is accomplished by connecting the SCIRun object to one of the input ports on the module. Note that there are ports for Matrices, Fields and Nrrds. In the translation menu the Field section deals with the translation of fields, the Matrix section with the translation of Matrices and the Nrrd section with the translation of the nrrds. Each line in this translation table refers to one set of input and output ports. First of all the module will need to know how the object should be called in MATLAB, it is going to be a matlab array and thus needs to have a name. Then depending on the SCIRun object the object can be translated into structured arrays or numeric arrays, whose numeric format can be set as well. See the sections below for more details. Then at the end of the line the name of the matlab array that needs to be translated back into a SCIRun object. Here a name is sufficient as the translation process will do the rest. The name can be the same as the input array, but it might refer to another array as well.
The process of running code in MATLAB is accomplished as follows: SCIRun will translate the SCIRun objects into matlab compatible objects and write them in a file and then instructs matlab to read this file. Since all communication is through the stdin of matlab, using files makes sure that the data does not have to be written out in ASCII readable code. The module is smart enough to recognize that it translated objects before. If this is the case it will not do the translation again and it will use the file already generated. When loading data into matlab the objects that were already there with the same name will be overwritten. Subsequently the module will take the code the user entered in the GUI and wrap it in a 'try/catch' environment and execute it in matlab. All output generated on the stdout will be displayed in the module. It will write a tag of when the code starts executing as well one on when the code finished executing. These are markers for the module to keep track of when matlab finishes executing code. Please make sure that your progam does NOT generate output that resembles these markers as it will confuse the InterfaceWithMatlab Interface. Once the end marker is encountered, the module will instruct matlab to save the variables in the workspace so they can be read in by SCIRun.
The third window on the bottom will show the current status of the matlab engine. Note: when session 0 is requested a new session number will be assigned to the matlab process, which has not been used before. The new session number will appear in this status window. This option can be used to give each InterfaceWithMatlabInterface Module its own matlab process running in the background.
====Local configuration====
Before the module can be used, SCIRun needs to know how to run matlab on the local machine. This is accomplished by the configuration file 'matlabengine.rc', which will be created in the SCIRun/services directory in your local HOME directory. This file is copied out of the src tree the first time SCIRun is run. This file configures how matlab should be run. Edit the line 'startmatlab=' to instruct SCIRun how matlab should be started from an 'sh'-compatible shell. If matlab can already be found using the PATH settings in the shell launching SCIRun, this line probably does not need to be altered. All other fields in this file refer to running matlab on a remote machine. In case SCIRun will not be able to launch matlab a message will be displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE ADDRESS' in the GUI needs to have an empty Address and does not require a port. SCIRun will in this case automatically launch matlab locally. In the latter case no password checks are done. The local manager does support multiple sessions. To clarify the word session: a session is a matlab process. When multiple InterfaceWithMatlab modules make use of the same session the workspace in matlab is shared. Hence one module can be used to load a large matrix into matlab, whereas another one can be used to iterate over a process with small matrices, while using the big matrix stored by the first one. This will allow for some efficiency improvements.
====Remote configuration====
In order to run matlab on a different machine then SCIRun, a small server program needs to be run on the remote machine. The latter is called 'scirunremote', this program sets up a socket for listening and launches matlab when a request is made on its socket. This program uses the same 'matlabengine.rc' file as the module (though it will look in the local HOME directory of the remote machine). This configuration file can be used to set a password, restrict login to only certain machines in a certain domain. Currently the communication is over an open socket in the future an openssl implementation will be used for secure connections. In order to launch the scirunremote program, type 'scirunremote -port 5678', or which ever port you want to use. The latter program must be run on the remote system and serves as a daemon for starting all kinds of external programs. When launching this application a list of services will be displayed. For the matlab engine to work properly two services need to be switched on: matlabengine and matlabenginefiletransfer. The currently implementation requires the last one even if there is a shared home directory. In the latter case no files are transfered, and only the names of the directories in which temporary files are stored are exchanged. The latter mechanism will reduce the amount of network traffic and hopefully speed up the function of this module.
====Configuration file====
This section shortly lists the different options that can be set in the configuration file 'SCIRun/services/matlabengine.rc'
START MATLAB: This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
DISABLE: This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
PASSWORD: A simple password, as a first line of defense. Better ways will follow.
RHOSTS: A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
MATLABTIMEOUT: How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:Reference_MatlabInterface_GUIpic1.png|The three main panels of the GUI and what they represent]] The GUI is subdivided into three mainparts. The top panel controls the translation from SCIRun objects into matlab objects and vice versa. The middle panel controls where the matlab engine is started and whether a matlab engine is shared with another InterfaceWithMatlab module. The lower panel displays the matlab code that needs to be executed and the output from matlab. The subdivision is shown in figure CROSS REFERENCE.
[[Image:Reference_MatlabInterface_GUIpic2.png|The SCIRun to matlab translation panel]] The first panel configures the matlabconverter which is used to translate SCIRun objects into matlab objects and vice versa. This matlabconverter is the same as used by the modules MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE. The SCIRun objects are translated into matlab files which are stored in a temparory directory that is automatically generated and are subsequently read by matlab. For the translation back into SCIRun a similar mechanism is used which tells matlab to write out the results in matlab files and these files are subsequently loaded into SCIRun. The input options are the same as for the other modules: the first field on the left controls the name that an object has in matlab. This name has to be alphanumeric and needs to adhere to InterfaceWithMatlab's naming convention. When writing matlab code this name can be used to access the object. The second parameter in the list controls the data format used for the matlab objects, i.e. whether the data is written as doubles, floats, or ints; the third parameter controls what kind of object is created. For matrices and nrrd the most logical translation is a multi dimensional matrix, which is thence the default. All the properties and axis settings are lost in such a translation. Hence the option is offered to translate the SCIRun object into a structured array in which each field represents one of the dataelements stored in that SCIRun object. The documentation on which fieldnames are used and how the object is translated, can be found in the documentation of the individual modules doing this translation. A summary of how geometrical data is represented is given below. Concerning the output variables, only the name needs to be known. If the object is not compatible an error message will be generated in the error message GUI of module. This message will also explain why the object could not be translated.
[[Image:Reference_MatlabInterface_GUIpic3.png|GUI for determining where MATLAB should be run]] The second panel tells SCIRun where to launch MATLAB. For a matlab engine on the local machine leave the Address field empty. For a remote engine enter the DNS or IP address of the remote server. The engine should support IPv6 addresses, although the support has not fully been tested. The second field is the port number for a remote matlab process. Currently the program scirunremote needs to be run on the remote side. This program will allow SCIRun to connect to this machine and run all kinds of remote applications. The program scirunremote needs to be run with a port number, this is the number that needs to be entered here. Optionally a password protection can be added. Currently the implementation of the password is a weak protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a certain host is identified by a unique number. This number is stored by the program launching matlab (scirun on the local machine and scirunremote on the remote machine) and is used to see whether a session is already open. If multiple InterfaceWithMatlab modules refer to the same session, no new matlab engine will be opened in stead these modules will share the use of the matlab engine. If session '0' is used a new non existing session number will be assigned by the matlab engine.
[[Image:Reference_MatlabInterface_GUIpic4.png|The panel for running code in matlab]] The lower panel contains there parts: the first for setting the code matlab needs to execute, the second for displaying matlab's output and the third for displaying the current status of the matlab engine. The code to be entered should assume that the matrices that have been created out of SCIRun objects already reside in the work space of matlab. In the code that maintains this absolute paths are used to ensure that the matrices can be found. The code will also be embedded in a try-catch statement to make sure that an end marker is generated even if the code crashes. All these measures to run code are hidden in the engine and the user should not worry about them for simple code. The code in that needs to be execute can be loaded and saved as well. So for more complex tasks the matlab code can be written in a different more userfriendly text editor. The extension of the filenames need to .m and are similar to matlab scripts. Please do not confuse these with functions. The latter will not work as functions need the input to be parsed to them. If a function call is desired, put the instruction that calls the function in the matlab code field and not the function code itself.
The second part of the lower panel contains the matlab output. It will display all the output generated by matlab. Currently, it can parse input as well, though that is limited to normal keystrokes. Simple commands may be given, but still the full functionality as found in a shell is not present yet. This latter feature is still experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of the matlab engine. The information stored here can be used for debugging and to see whether the matlab engine is running properly. The connection to matlab engine can be closed here as well and new connections can be made without the need of executing the module.
====Translation of FIELDS====
The following is an incomplete overview of the translation between SCIRun and MATLAB field objects. The following describes how fields are to be prepared in matlab for it to be used in SCIRun. The opposite process will be done for the input ports. Note that there one can specify whether one ones a structured or numerical matlab array. In case of numerical array only the data from the field is taken and the rest is thrown away. In case of a structured matlab array the data is fitted into a structure with the same fields as described below.
The following sections describe the fields of the structure matrix can be defined and are recognized by the module.
====Unstructured Meshes ====
FIELDNAME .node This field is required for unstructured meshes and defines the position of the nodes within the mesh. This matrix should be a dense 3 by M matrix, where M is the number of nodes.
FIELDNAME .edge This field is required for curve meshes and defines the line elements in the mesh. This matrix should be a dense 2 by N matrix, where N is the number of line segments. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this EDGE matrix is zero, a zero base is assumed.
FIELDNAME .face This field is required for surfaces meshes and defines the surface elements in the mesh. This matrix should be a dense 3 by N matrix for triangulated meshes and a 4 by N matrix for quadsurf meshes. Here N is the number of surface elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this FACE matrix is zero, a zero base is assumed.
FIELDNAME .cell This field is required for volume meshes and defines the volume elements in the mesh. This matrix should be a dense 4 by N matrix for tetrahedral meshes, or a 6 by N matrix for prism shaped volume elements, or a 8 by N matrix for hexahedral elements. Here N is the number of volume elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this CELL matrix is zero, a zero base is assumed.
====Structured Meshes====
FIELDNAMES x , y , AND z The fields X, Y, and Z form the description of a structured mesh. These fields are 1D, 2D, or 3D matrices defining the structured line, surface, or volume data. The connectivity of these meshes is defined by the position of the matrix, neighboring elements are connected. In this definition matrix X defines the x cartesian co-ordinate of each node, matrix Y the y cartesian co-ordinate and matrix Z the z cartesian co-ordinate. This kind of definition is compatible with MATLAB functions such as ndmesh() and sphere().
====Structured regular Meshes====
As structured matlab arrays:
FIELDNAME .dims This field describes the dimensions of the regular grid and is required for making a regular structured mesh. This field is a vector with 1, 2, or 3 elements describing the dimensions in each direction. Hence depending on this field the module creates a line, a surface, or a volume. This field is required for structured regular meshes.
FIELDNAME .transform This field describes a 4x4 matrix which defines an affine transformation, which is applied to the mesh. This matrix describes rotation, translation and scaling of each node in the regular mesh. This field is optional and does not need to be supplied. In case on transform matrix is defined a regular grid with spacing of 1 in each direction will be generated. [NEED TO ADD MORE DETAILS]
As regular dense matrices:
ImageFields and LatVolFields can be entered as well as dense matrices. A 2D matrix will be translated into an ImageField, and a 3D matrix will be translated into a LatVolField. When entering data as regular matrices, the data is assumed to be on the nodes and to be a scalar double field.
Note: The displaying dimensions between matlab and SCIRun are flipped, in matlab the first dimension is along the vertical axis, whereas in SCIRun it is along the horizontal axis. Depending on the application the data may need to be transposed, in order to make to obtain the proper vertical alignment.
====Field Data====
FIELDNAME .field A matrix specifying scalar/vector/tensor data for each node/element in the mesh. Each subsequent element in this vector is added to the next node/element in the field. Use the field FIELDLOCATION to specify where the data should be located. The module detects the type of data. The tensor and respectively the vector dimension is assumed to be the first one.
FIELDNAME .fieldtype A string specifying the type of data stored in field. Currently three value are accepted: 'scalar', 'vector', and 'tensor'. If this type information is omitted it defaults to 'scalar'
FIELDNAME .fieldat The location of the data. This field is a string describing where the data should be located. The default field location is assumed to be the nodes, meaning each node has a scalar, vector, or tensor value. In case the data is at the nodes, this field does not to be specified. This field is a string with the following options: "node", "edge", "face", or "cell". This field can be a number as well, which will describe the basis order of the element.
The way of specifying a field was different in version 1.22 of SCIRun. The modules still support input through the fields 'vectorfield', 'tensorfield', and 'scalarfield'. However to be compatible with future additions this has been changed to a combination of 'field' and 'fieldtype'. The new fieldwriters will use this convention instead of the old one.
The module will try to reconstruct data, for instance if a matrix is transposed, it will detect this and read the data properly. Most of the fields mentioned are optional and are not necessary. Only choose those fields from the list that are needed to describe your data. Currently not every field type supported by SCIRun is implemented in this module. Hopefully future versions will support more data types and have even less restrictive converters.
==== Example 1: preparing MATLAB file ====
The following lines of MATLAB code demonstrate how to structure a matrix for the use in SCIRun:
Assuming that the nodes are specified in nodematrix and the connectivity of these nodes is specified in facematrix
>> geom.node = nodematrix
>> geom.face = facematrix
Opening the file with the InterfaceWithMatlabFieldsReader module will show that there is one data matrix called "geom" whose contents is a TRISURFMESH with no data on any of the node points
In case MATLAB is not available to structure the data, use the MODULE REFERENCE module to read a MATLAB matrix data directly and use the MODULE REFERENCE module to construct a Field out of the Nrrd object.
==== Example 2: Creating a structured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab file with the matlab logo on a structured mesh:
>> [X,Y,DATA] = peaks(100);
>> field.x = X;
>> field.y = Y;
>> field.z = DATA;
>> field.scalarfield = DATA;
This will create a surface mesh in the shape of the peaks logo and uses the z value as its data values. Be sure to specify all the three cartensian coordinates, omitting one will result in the module not to recognise the mesh and it will not display the object in its selection box.
==== Exampe 3: Creating an unstructured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab fiel with an unstructured tesselated surface:
>> [X,Y,Z] = ndmesh(1:10,1:10,0);
>> field.node = [X(:)'; Y(:)'; Z(:)'];
>> field.face = delauney(X,Y);
>> field.scalarfield = X(:).^2;
====See Also ====
MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
1733
1731
2006-11-09T21:22:18Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''InterfaceWithMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: Interface
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Interactive InterfaceWithMatlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects.
====Detailed Description====
====Overview====
This module launches MATLAB as a separate process under control of SCIRun. The process can be on a remote machine or a local machine. In case the module is running on a remote machine the communication with matlab will be through sockets. In the latter case the entry fields in the middle panel of the GUI will need to be filled out with the IP address (it will automatically do a DNS lookup), the port number and a password. A password is only necessary for a remote MATLAB engine that is configured to require a password when launching MATLAB. The current implementation has an optional password in the matlabegine.rc, if this field is left empty no password check is done. The current implementation does not make use of secure sockets, this implementation is still under development. In order to run multiple MATLAB processes simultaneously different sessions can be launched. Each session on the same machine will share the global workspace in MATLAB and code is being executed sequentially for all modules making use of that session. Hence variables declared in the global workspace can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the MATLAB OUTPUT window. The module needs to be executed in order to launch matlab, but will then remain active until the module is destroyed. Alternatively MATLAB can be launched from the InterfaceWithMatlabEngine Status panel in the right lower corner. It can be disconnected using the 'disconnect' button in the same panel. That the MATLAB process is kept alive between executions is done to smoothen the executing of matlab networks and as well to be able to store variables in matlab's workspace for later usage. However before the module is executed the translation table of SCIRun objects to matlab objects needs to be setup. This is accomplished by connecting the SCIRun object to one of the input ports on the module. Note that there are ports for Matrices, Fields and Nrrds. In the translation menu the Field section deals with the translation of fields, the Matrix section with the translation of Matrices and the Nrrd section with the translation of the nrrds. Each line in this translation table refers to one set of input and output ports. First of all the module will need to know how the object should be called in MATLAB, it is going to be a matlab array and thus needs to have a name. Then depending on the SCIRun object the object can be translated into structured arrays or numeric arrays, whose numeric format can be set as well. See the sections below for more details. Then at the end of the line the name of the matlab array that needs to be translated back into a SCIRun object. Here a name is sufficient as the translation process will do the rest. The name can be the same as the input array, but it might refer to another array as well.
The process of running code in MATLAB is accomplished as follows: SCIRun will translate the SCIRun objects into matlab compatible objects and write them in a file and then instructs matlab to read this file. Since all communication is through the stdin of matlab, using files makes sure that the data does not have to be written out in ASCII readable code. The module is smart enough to recognize that it translated objects before. If this is the case it will not do the translation again and it will use the file already generated. When loading data into matlab the objects that were already there with the same name will be overwritten. Subsequently the module will take the code the user entered in the GUI and wrap it in a 'try/catch' environment and execute it in matlab. All output generated on the stdout will be displayed in the module. It will write a tag of when the code starts executing as well one on when the code finished executing. These are markers for the module to keep track of when matlab finishes executing code. Please make sure that your progam does NOT generate output that resembles these markers as it will confuse the InterfaceWithMatlab Interface. Once the end marker is encountered, the module will instruct matlab to save the variables in the workspace so they can be read in by SCIRun.
The third window on the bottom will show the current status of the matlab engine. Note: when session 0 is requested a new session number will be assigned to the matlab process, which has not been used before. The new session number will appear in this status window. This option can be used to give each InterfaceWithMatlabInterface Module its own matlab process running in the background.
====Local configuration====
Before the module can be used, SCIRun needs to know how to run matlab on the local machine. This is accomplished by the configuration file 'matlabengine.rc', which will be created in the SCIRun/services directory in your local HOME directory. This file is copied out of the src tree the first time SCIRun is run. This file configures how matlab should be run. Edit the line 'startmatlab=' to instruct SCIRun how matlab should be started from an 'sh'-compatible shell. If matlab can already be found using the PATH settings in the shell launching SCIRun, this line probably does not need to be altered. All other fields in this file refer to running matlab on a remote machine. In case SCIRun will not be able to launch matlab a message will be displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE ADDRESS' in the GUI needs to have an empty Address and does not require a port. SCIRun will in this case automatically launch matlab locally. In the latter case no password checks are done. The local manager does support multiple sessions. To clarify the word session: a session is a matlab process. When multiple InterfaceWithMatlab modules make use of the same session the workspace in matlab is shared. Hence one module can be used to load a large matrix into matlab, whereas another one can be used to iterate over a process with small matrices, while using the big matrix stored by the first one. This will allow for some efficiency improvements.
====Remote configuration====
In order to run matlab on a different machine then SCIRun, a small server program needs to be run on the remote machine. The latter is called 'scirunremote', this program sets up a socket for listening and launches matlab when a request is made on its socket. This program uses the same 'matlabengine.rc' file as the module (though it will look in the local HOME directory of the remote machine). This configuration file can be used to set a password, restrict login to only certain machines in a certain domain. Currently the communication is over an open socket in the future an openssl implementation will be used for secure connections. In order to launch the scirunremote program, type 'scirunremote -port 5678', or which ever port you want to use. The latter program must be run on the remote system and serves as a daemon for starting all kinds of external programs. When launching this application a list of services will be displayed. For the matlab engine to work properly two services need to be switched on: matlabengine and matlabenginefiletransfer. The currently implementation requires the last one even if there is a shared home directory. In the latter case no files are transfered, and only the names of the directories in which temporary files are stored are exchanged. The latter mechanism will reduce the amount of network traffic and hopefully speed up the function of this module.
====Configuration file====
This section shortly lists the different options that can be set in the configuration file 'SCIRun/services/matlabengine.rc'
START MATLAB: This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
DISABLE: This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
PASSWORD: A simple password, as a first line of defense. Better ways will follow.
RHOSTS: A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
MATLABTIMEOUT: How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:Reference_MatlabInterface_GUIpic1.png|The three main panels of the GUI and what they represent]]
The GUI is subdivided into three mainparts. The top panel controls the translation from SCIRun objects into matlab objects and vice versa. The middle panel controls where the matlab engine is started and whether a matlab engine is shared with another InterfaceWithMatlab module. The lower panel displays the matlab code that needs to be executed and the output from matlab. The subdivision is shown in figure CROSS REFERENCE.
[[Image:Reference_MatlabInterface_GUIpic2.png|The SCIRun to matlab translation panel]]
The first panel configures the matlabconverter which is used to translate SCIRun objects into matlab objects and vice versa. This matlabconverter is the same as used by the modules MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE. The SCIRun objects are translated into matlab files which are stored in a temparory directory that is automatically generated and are subsequently read by matlab. For the translation back into SCIRun a similar mechanism is used which tells matlab to write out the results in matlab files and these files are subsequently loaded into SCIRun. The input options are the same as for the other modules: the first field on the left controls the name that an object has in matlab. This name has to be alphanumeric and needs to adhere to InterfaceWithMatlab's naming convention. When writing matlab code this name can be used to access the object. The second parameter in the list controls the data format used for the matlab objects, i.e. whether the data is written as doubles, floats, or ints; the third parameter controls what kind of object is created. For matrices and nrrd the most logical translation is a multi dimensional matrix, which is thence the default. All the properties and axis settings are lost in such a translation. Hence the option is offered to translate the SCIRun object into a structured array in which each field represents one of the dataelements stored in that SCIRun object. The documentation on which fieldnames are used and how the object is translated, can be found in the documentation of the individual modules doing this translation. A summary of how geometrical data is represented is given below. Concerning the output variables, only the name needs to be known. If the object is not compatible an error message will be generated in the error message GUI of module. This message will also explain why the object could not be translated.
[[Image:Reference_MatlabInterface_GUIpic3.png|GUI for determining where MATLAB should be run]]
The second panel tells SCIRun where to launch MATLAB. For a matlab engine on the local machine leave the Address field empty. For a remote engine enter the DNS or IP address of the remote server. The engine should support IPv6 addresses, although the support has not fully been tested. The second field is the port number for a remote matlab process. Currently the program scirunremote needs to be run on the remote side. This program will allow SCIRun to connect to this machine and run all kinds of remote applications. The program scirunremote needs to be run with a port number, this is the number that needs to be entered here. Optionally a password protection can be added. Currently the implementation of the password is a weak protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a certain host is identified by a unique number. This number is stored by the program launching matlab (scirun on the local machine and scirunremote on the remote machine) and is used to see whether a session is already open. If multiple InterfaceWithMatlab modules refer to the same session, no new matlab engine will be opened in stead these modules will share the use of the matlab engine. If session '0' is used a new non existing session number will be assigned by the matlab engine.
[[Image:Reference_MatlabInterface_GUIpic4.png|The panel for running code in matlab]]
The lower panel contains there parts: the first for setting the code matlab needs to execute, the second for displaying matlab's output and the third for displaying the current status of the matlab engine. The code to be entered should assume that the matrices that have been created out of SCIRun objects already reside in the work space of matlab. In the code that maintains this absolute paths are used to ensure that the matrices can be found. The code will also be embedded in a try-catch statement to make sure that an end marker is generated even if the code crashes. All these measures to run code are hidden in the engine and the user should not worry about them for simple code. The code in that needs to be execute can be loaded and saved as well. So for more complex tasks the matlab code can be written in a different more userfriendly text editor. The extension of the filenames need to .m and are similar to matlab scripts. Please do not confuse these with functions. The latter will not work as functions need the input to be parsed to them. If a function call is desired, put the instruction that calls the function in the matlab code field and not the function code itself.
The second part of the lower panel contains the matlab output. It will display all the output generated by matlab. Currently, it can parse input as well, though that is limited to normal keystrokes. Simple commands may be given, but still the full functionality as found in a shell is not present yet. This latter feature is still experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of the matlab engine. The information stored here can be used for debugging and to see whether the matlab engine is running properly. The connection to matlab engine can be closed here as well and new connections can be made without the need of executing the module.
====Translation of FIELDS====
The following is an incomplete overview of the translation between SCIRun and MATLAB field objects. The following describes how fields are to be prepared in matlab for it to be used in SCIRun. The opposite process will be done for the input ports. Note that there one can specify whether one ones a structured or numerical matlab array. In case of numerical array only the data from the field is taken and the rest is thrown away. In case of a structured matlab array the data is fitted into a structure with the same fields as described below.
The following sections describe the fields of the structure matrix can be defined and are recognized by the module.
====Unstructured Meshes ====
FIELDNAME .node This field is required for unstructured meshes and defines the position of the nodes within the mesh. This matrix should be a dense 3 by M matrix, where M is the number of nodes.
FIELDNAME .edge This field is required for curve meshes and defines the line elements in the mesh. This matrix should be a dense 2 by N matrix, where N is the number of line segments. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this EDGE matrix is zero, a zero base is assumed.
FIELDNAME .face This field is required for surfaces meshes and defines the surface elements in the mesh. This matrix should be a dense 3 by N matrix for triangulated meshes and a 4 by N matrix for quadsurf meshes. Here N is the number of surface elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this FACE matrix is zero, a zero base is assumed.
FIELDNAME .cell This field is required for volume meshes and defines the volume elements in the mesh. This matrix should be a dense 4 by N matrix for tetrahedral meshes, or a 6 by N matrix for prism shaped volume elements, or a 8 by N matrix for hexahedral elements. Here N is the number of volume elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this CELL matrix is zero, a zero base is assumed.
====Structured Meshes====
FIELDNAMES x , y , AND z The fields X, Y, and Z form the description of a structured mesh. These fields are 1D, 2D, or 3D matrices defining the structured line, surface, or volume data. The connectivity of these meshes is defined by the position of the matrix, neighboring elements are connected. In this definition matrix X defines the x cartesian co-ordinate of each node, matrix Y the y cartesian co-ordinate and matrix Z the z cartesian co-ordinate. This kind of definition is compatible with MATLAB functions such as ndmesh() and sphere().
====Structured regular Meshes====
As structured matlab arrays:
FIELDNAME .dims This field describes the dimensions of the regular grid and is required for making a regular structured mesh. This field is a vector with 1, 2, or 3 elements describing the dimensions in each direction. Hence depending on this field the module creates a line, a surface, or a volume. This field is required for structured regular meshes.
FIELDNAME .transform This field describes a 4x4 matrix which defines an affine transformation, which is applied to the mesh. This matrix describes rotation, translation and scaling of each node in the regular mesh. This field is optional and does not need to be supplied. In case on transform matrix is defined a regular grid with spacing of 1 in each direction will be generated. [NEED TO ADD MORE DETAILS]
As regular dense matrices:
ImageFields and LatVolFields can be entered as well as dense matrices. A 2D matrix will be translated into an ImageField, and a 3D matrix will be translated into a LatVolField. When entering data as regular matrices, the data is assumed to be on the nodes and to be a scalar double field.
Note: The displaying dimensions between matlab and SCIRun are flipped, in matlab the first dimension is along the vertical axis, whereas in SCIRun it is along the horizontal axis. Depending on the application the data may need to be transposed, in order to make to obtain the proper vertical alignment.
====Field Data====
FIELDNAME .field A matrix specifying scalar/vector/tensor data for each node/element in the mesh. Each subsequent element in this vector is added to the next node/element in the field. Use the field FIELDLOCATION to specify where the data should be located. The module detects the type of data. The tensor and respectively the vector dimension is assumed to be the first one.
FIELDNAME .fieldtype A string specifying the type of data stored in field. Currently three value are accepted: 'scalar', 'vector', and 'tensor'. If this type information is omitted it defaults to 'scalar'
FIELDNAME .fieldat The location of the data. This field is a string describing where the data should be located. The default field location is assumed to be the nodes, meaning each node has a scalar, vector, or tensor value. In case the data is at the nodes, this field does not to be specified. This field is a string with the following options: "node", "edge", "face", or "cell". This field can be a number as well, which will describe the basis order of the element.
The way of specifying a field was different in version 1.22 of SCIRun. The modules still support input through the fields 'vectorfield', 'tensorfield', and 'scalarfield'. However to be compatible with future additions this has been changed to a combination of 'field' and 'fieldtype'. The new fieldwriters will use this convention instead of the old one.
The module will try to reconstruct data, for instance if a matrix is transposed, it will detect this and read the data properly. Most of the fields mentioned are optional and are not necessary. Only choose those fields from the list that are needed to describe your data. Currently not every field type supported by SCIRun is implemented in this module. Hopefully future versions will support more data types and have even less restrictive converters.
==== Example 1: preparing MATLAB file ====
The following lines of MATLAB code demonstrate how to structure a matrix for the use in SCIRun. Assuming that the nodes are specified in nodematrix and the connectivity of these nodes is specified in facematrix
>> geom.node = nodematrix
>> geom.face = facematrix
Opening the file with the InterfaceWithMatlabFieldsReader module will show that there is one data matrix called "geom" whose contents is a TRISURFMESH with no data on any of the node points
In case MATLAB is not available to structure the data, use the MODULE REFERENCE module to read a MATLAB matrix data directly and use the MODULE REFERENCE module to construct a Field out of the Nrrd object.
==== Example 2: Creating a structured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab file with the matlab logo on a structured mesh:
>> [X,Y,DATA] = peaks(100);
>> field.x = X;
>> field.y = Y;
>> field.z = DATA;
>> field.scalarfield = DATA;
This will create a surface mesh in the shape of the peaks logo and uses the z value as its data values. Be sure to specify all the three cartensian coordinates, omitting one will result in the module not to recognise the mesh and it will not display the object in its selection box.
==== Exampe 3: Creating an unstructured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab fiel with an unstructured tesselated surface:
>> [X,Y,Z] = ndmesh(1:10,1:10,0);
>> field.node = [X(:)'; Y(:)'; Z(:)'];
>> field.face = delauney(X,Y);
>> field.scalarfield = X(:).^2;
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
3207
1733
2006-11-09T21:24:27Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''InterfaceWithMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: Interface
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Interactive InterfaceWithMatlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects.
====Detailed Description====
This module launches MATLAB as a separate process under control of SCIRun. The process can be on a remote machine or a local machine. In case the module is running on a remote machine the communication with matlab will be through sockets. In the latter case the entry fields in the middle panel of the GUI will need to be filled out with the IP address (it will automatically do a DNS lookup), the port number and a password. A password is only necessary for a remote MATLAB engine that is configured to require a password when launching MATLAB. The current implementation has an optional password in the matlabegine.rc, if this field is left empty no password check is done. The current implementation does not make use of secure sockets, this implementation is still under development. In order to run multiple MATLAB processes simultaneously different sessions can be launched. Each session on the same machine will share the global workspace in MATLAB and code is being executed sequentially for all modules making use of that session. Hence variables declared in the global workspace can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the MATLAB OUTPUT window. The module needs to be executed in order to launch matlab, but will then remain active until the module is destroyed. Alternatively MATLAB can be launched from the InterfaceWithMatlabEngine Status panel in the right lower corner. It can be disconnected using the 'disconnect' button in the same panel. That the MATLAB process is kept alive between executions is done to smoothen the executing of matlab networks and as well to be able to store variables in matlab's workspace for later usage. However before the module is executed the translation table of SCIRun objects to matlab objects needs to be setup. This is accomplished by connecting the SCIRun object to one of the input ports on the module. Note that there are ports for Matrices, Fields and Nrrds. In the translation menu the Field section deals with the translation of fields, the Matrix section with the translation of Matrices and the Nrrd section with the translation of the nrrds. Each line in this translation table refers to one set of input and output ports. First of all the module will need to know how the object should be called in MATLAB, it is going to be a matlab array and thus needs to have a name. Then depending on the SCIRun object the object can be translated into structured arrays or numeric arrays, whose numeric format can be set as well. See the sections below for more details. Then at the end of the line the name of the matlab array that needs to be translated back into a SCIRun object. Here a name is sufficient as the translation process will do the rest. The name can be the same as the input array, but it might refer to another array as well.
The process of running code in MATLAB is accomplished as follows: SCIRun will translate the SCIRun objects into matlab compatible objects and write them in a file and then instructs matlab to read this file. Since all communication is through the stdin of matlab, using files makes sure that the data does not have to be written out in ASCII readable code. The module is smart enough to recognize that it translated objects before. If this is the case it will not do the translation again and it will use the file already generated. When loading data into matlab the objects that were already there with the same name will be overwritten. Subsequently the module will take the code the user entered in the GUI and wrap it in a 'try/catch' environment and execute it in matlab. All output generated on the stdout will be displayed in the module. It will write a tag of when the code starts executing as well one on when the code finished executing. These are markers for the module to keep track of when matlab finishes executing code. Please make sure that your progam does NOT generate output that resembles these markers as it will confuse the InterfaceWithMatlab Interface. Once the end marker is encountered, the module will instruct matlab to save the variables in the workspace so they can be read in by SCIRun.
The third window on the bottom will show the current status of the matlab engine. Note: when session 0 is requested a new session number will be assigned to the matlab process, which has not been used before. The new session number will appear in this status window. This option can be used to give each InterfaceWithMatlabInterface Module its own matlab process running in the background.
====Local configuration====
Before the module can be used, SCIRun needs to know how to run matlab on the local machine. This is accomplished by the configuration file 'matlabengine.rc', which will be created in the SCIRun/services directory in your local HOME directory. This file is copied out of the src tree the first time SCIRun is run. This file configures how matlab should be run. Edit the line 'startmatlab=' to instruct SCIRun how matlab should be started from an 'sh'-compatible shell. If matlab can already be found using the PATH settings in the shell launching SCIRun, this line probably does not need to be altered. All other fields in this file refer to running matlab on a remote machine. In case SCIRun will not be able to launch matlab a message will be displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE ADDRESS' in the GUI needs to have an empty Address and does not require a port. SCIRun will in this case automatically launch matlab locally. In the latter case no password checks are done. The local manager does support multiple sessions. To clarify the word session: a session is a matlab process. When multiple InterfaceWithMatlab modules make use of the same session the workspace in matlab is shared. Hence one module can be used to load a large matrix into matlab, whereas another one can be used to iterate over a process with small matrices, while using the big matrix stored by the first one. This will allow for some efficiency improvements.
====Remote configuration====
In order to run matlab on a different machine then SCIRun, a small server program needs to be run on the remote machine. The latter is called 'scirunremote', this program sets up a socket for listening and launches matlab when a request is made on its socket. This program uses the same 'matlabengine.rc' file as the module (though it will look in the local HOME directory of the remote machine). This configuration file can be used to set a password, restrict login to only certain machines in a certain domain. Currently the communication is over an open socket in the future an openssl implementation will be used for secure connections. In order to launch the scirunremote program, type 'scirunremote -port 5678', or which ever port you want to use. The latter program must be run on the remote system and serves as a daemon for starting all kinds of external programs. When launching this application a list of services will be displayed. For the matlab engine to work properly two services need to be switched on: matlabengine and matlabenginefiletransfer. The currently implementation requires the last one even if there is a shared home directory. In the latter case no files are transfered, and only the names of the directories in which temporary files are stored are exchanged. The latter mechanism will reduce the amount of network traffic and hopefully speed up the function of this module.
====Configuration file====
This section shortly lists the different options that can be set in the configuration file 'SCIRun/services/matlabengine.rc'
START MATLAB: This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
DISABLE: This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
PASSWORD: A simple password, as a first line of defense. Better ways will follow.
RHOSTS: A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
MATLABTIMEOUT: How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:Reference_MatlabInterface_GUIpic1.png|The three main panels of the GUI and what they represent]]
The GUI is subdivided into three mainparts. The top panel controls the translation from SCIRun objects into matlab objects and vice versa. The middle panel controls where the matlab engine is started and whether a matlab engine is shared with another InterfaceWithMatlab module. The lower panel displays the matlab code that needs to be executed and the output from matlab. The subdivision is shown in figure CROSS REFERENCE.
[[Image:Reference_MatlabInterface_GUIpic2.png|The SCIRun to matlab translation panel]]
The first panel configures the matlabconverter which is used to translate SCIRun objects into matlab objects and vice versa. This matlabconverter is the same as used by the modules MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE. The SCIRun objects are translated into matlab files which are stored in a temparory directory that is automatically generated and are subsequently read by matlab. For the translation back into SCIRun a similar mechanism is used which tells matlab to write out the results in matlab files and these files are subsequently loaded into SCIRun. The input options are the same as for the other modules: the first field on the left controls the name that an object has in matlab. This name has to be alphanumeric and needs to adhere to InterfaceWithMatlab's naming convention. When writing matlab code this name can be used to access the object. The second parameter in the list controls the data format used for the matlab objects, i.e. whether the data is written as doubles, floats, or ints; the third parameter controls what kind of object is created. For matrices and nrrd the most logical translation is a multi dimensional matrix, which is thence the default. All the properties and axis settings are lost in such a translation. Hence the option is offered to translate the SCIRun object into a structured array in which each field represents one of the dataelements stored in that SCIRun object. The documentation on which fieldnames are used and how the object is translated, can be found in the documentation of the individual modules doing this translation. A summary of how geometrical data is represented is given below. Concerning the output variables, only the name needs to be known. If the object is not compatible an error message will be generated in the error message GUI of module. This message will also explain why the object could not be translated.
[[Image:Reference_MatlabInterface_GUIpic3.png|GUI for determining where MATLAB should be run]]
The second panel tells SCIRun where to launch MATLAB. For a matlab engine on the local machine leave the Address field empty. For a remote engine enter the DNS or IP address of the remote server. The engine should support IPv6 addresses, although the support has not fully been tested. The second field is the port number for a remote matlab process. Currently the program scirunremote needs to be run on the remote side. This program will allow SCIRun to connect to this machine and run all kinds of remote applications. The program scirunremote needs to be run with a port number, this is the number that needs to be entered here. Optionally a password protection can be added. Currently the implementation of the password is a weak protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a certain host is identified by a unique number. This number is stored by the program launching matlab (scirun on the local machine and scirunremote on the remote machine) and is used to see whether a session is already open. If multiple InterfaceWithMatlab modules refer to the same session, no new matlab engine will be opened in stead these modules will share the use of the matlab engine. If session '0' is used a new non existing session number will be assigned by the matlab engine.
[[Image:Reference_MatlabInterface_GUIpic4.png|The panel for running code in matlab]]
The lower panel contains there parts: the first for setting the code matlab needs to execute, the second for displaying matlab's output and the third for displaying the current status of the matlab engine. The code to be entered should assume that the matrices that have been created out of SCIRun objects already reside in the work space of matlab. In the code that maintains this absolute paths are used to ensure that the matrices can be found. The code will also be embedded in a try-catch statement to make sure that an end marker is generated even if the code crashes. All these measures to run code are hidden in the engine and the user should not worry about them for simple code. The code in that needs to be execute can be loaded and saved as well. So for more complex tasks the matlab code can be written in a different more userfriendly text editor. The extension of the filenames need to .m and are similar to matlab scripts. Please do not confuse these with functions. The latter will not work as functions need the input to be parsed to them. If a function call is desired, put the instruction that calls the function in the matlab code field and not the function code itself.
The second part of the lower panel contains the matlab output. It will display all the output generated by matlab. Currently, it can parse input as well, though that is limited to normal keystrokes. Simple commands may be given, but still the full functionality as found in a shell is not present yet. This latter feature is still experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of the matlab engine. The information stored here can be used for debugging and to see whether the matlab engine is running properly. The connection to matlab engine can be closed here as well and new connections can be made without the need of executing the module.
====Translation of FIELDS====
The following is an incomplete overview of the translation between SCIRun and MATLAB field objects. The following describes how fields are to be prepared in matlab for it to be used in SCIRun. The opposite process will be done for the input ports. Note that there one can specify whether one ones a structured or numerical matlab array. In case of numerical array only the data from the field is taken and the rest is thrown away. In case of a structured matlab array the data is fitted into a structure with the same fields as described below.
The following sections describe the fields of the structure matrix can be defined and are recognized by the module.
====Unstructured Meshes ====
FIELDNAME .node This field is required for unstructured meshes and defines the position of the nodes within the mesh. This matrix should be a dense 3 by M matrix, where M is the number of nodes.
FIELDNAME .edge This field is required for curve meshes and defines the line elements in the mesh. This matrix should be a dense 2 by N matrix, where N is the number of line segments. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this EDGE matrix is zero, a zero base is assumed.
FIELDNAME .face This field is required for surfaces meshes and defines the surface elements in the mesh. This matrix should be a dense 3 by N matrix for triangulated meshes and a 4 by N matrix for quadsurf meshes. Here N is the number of surface elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this FACE matrix is zero, a zero base is assumed.
FIELDNAME .cell This field is required for volume meshes and defines the volume elements in the mesh. This matrix should be a dense 4 by N matrix for tetrahedral meshes, or a 6 by N matrix for prism shaped volume elements, or a 8 by N matrix for hexahedral elements. Here N is the number of volume elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this CELL matrix is zero, a zero base is assumed.
====Structured Meshes====
FIELDNAMES x , y , AND z The fields X, Y, and Z form the description of a structured mesh. These fields are 1D, 2D, or 3D matrices defining the structured line, surface, or volume data. The connectivity of these meshes is defined by the position of the matrix, neighboring elements are connected. In this definition matrix X defines the x cartesian co-ordinate of each node, matrix Y the y cartesian co-ordinate and matrix Z the z cartesian co-ordinate. This kind of definition is compatible with MATLAB functions such as ndmesh() and sphere().
====Structured regular Meshes====
As structured matlab arrays:
FIELDNAME .dims This field describes the dimensions of the regular grid and is required for making a regular structured mesh. This field is a vector with 1, 2, or 3 elements describing the dimensions in each direction. Hence depending on this field the module creates a line, a surface, or a volume. This field is required for structured regular meshes.
FIELDNAME .transform This field describes a 4x4 matrix which defines an affine transformation, which is applied to the mesh. This matrix describes rotation, translation and scaling of each node in the regular mesh. This field is optional and does not need to be supplied. In case on transform matrix is defined a regular grid with spacing of 1 in each direction will be generated. [NEED TO ADD MORE DETAILS]
As regular dense matrices:
ImageFields and LatVolFields can be entered as well as dense matrices. A 2D matrix will be translated into an ImageField, and a 3D matrix will be translated into a LatVolField. When entering data as regular matrices, the data is assumed to be on the nodes and to be a scalar double field.
Note: The displaying dimensions between matlab and SCIRun are flipped, in matlab the first dimension is along the vertical axis, whereas in SCIRun it is along the horizontal axis. Depending on the application the data may need to be transposed, in order to make to obtain the proper vertical alignment.
====Field Data====
FIELDNAME .field A matrix specifying scalar/vector/tensor data for each node/element in the mesh. Each subsequent element in this vector is added to the next node/element in the field. Use the field FIELDLOCATION to specify where the data should be located. The module detects the type of data. The tensor and respectively the vector dimension is assumed to be the first one.
FIELDNAME .fieldtype A string specifying the type of data stored in field. Currently three value are accepted: 'scalar', 'vector', and 'tensor'. If this type information is omitted it defaults to 'scalar'
FIELDNAME .fieldat The location of the data. This field is a string describing where the data should be located. The default field location is assumed to be the nodes, meaning each node has a scalar, vector, or tensor value. In case the data is at the nodes, this field does not to be specified. This field is a string with the following options: "node", "edge", "face", or "cell". This field can be a number as well, which will describe the basis order of the element.
The way of specifying a field was different in version 1.22 of SCIRun. The modules still support input through the fields 'vectorfield', 'tensorfield', and 'scalarfield'. However to be compatible with future additions this has been changed to a combination of 'field' and 'fieldtype'. The new fieldwriters will use this convention instead of the old one.
The module will try to reconstruct data, for instance if a matrix is transposed, it will detect this and read the data properly. Most of the fields mentioned are optional and are not necessary. Only choose those fields from the list that are needed to describe your data. Currently not every field type supported by SCIRun is implemented in this module. Hopefully future versions will support more data types and have even less restrictive converters.
==== Example 1: preparing MATLAB file ====
The following lines of MATLAB code demonstrate how to structure a matrix for the use in SCIRun. Assuming that the nodes are specified in nodematrix and the connectivity of these nodes is specified in facematrix
>> geom.node = nodematrix
>> geom.face = facematrix
Opening the file with the InterfaceWithMatlabFieldsReader module will show that there is one data matrix called "geom" whose contents is a TRISURFMESH with no data on any of the node points
In case MATLAB is not available to structure the data, use the MODULE REFERENCE module to read a MATLAB matrix data directly and use the MODULE REFERENCE module to construct a Field out of the Nrrd object.
==== Example 2: Creating a structured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab file with the matlab logo on a structured mesh:
>> [X,Y,DATA] = peaks(100);
>> field.x = X;
>> field.y = Y;
>> field.z = DATA;
>> field.scalarfield = DATA;
This will create a surface mesh in the shape of the peaks logo and uses the z value as its data values. Be sure to specify all the three cartensian coordinates, omitting one will result in the module not to recognise the mesh and it will not display the object in its selection box.
==== Exampe 3: Creating an unstructured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab fiel with an unstructured tesselated surface:
>> [X,Y,Z] = ndmesh(1:10,1:10,0);
>> field.node = [X(:)'; Y(:)'; Z(:)'];
>> field.face = delauney(X,Y);
>> field.scalarfield = X(:).^2;
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlabViaBundles
0
1668
3809
1732
2006-11-09T21:23:49Z
Jeroen
19
/* Description */
wikitext
text/x-wiki
=='''InterfaceWithMatlabViaBundles'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: Interface
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Interactive Matlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects. The difference with the normal Matlab module is that this one uses bundles as input and output to allow for a more flexible interface. Since the use of bundles is more complicated, the Matlab module should be used if fields or matrices need to be adjusted. But for more complicated projects, this module allows for more flexibility.
====Detailed Description====
This module is an extension of the Matlab module. Please review the documentation of this module for a more detailed description of the inner workings of the matlab interface. The main difference with the Matlab module is the way data is imported into MATLAB. This module uses the module concepts for transporting data. In short a bundle is a collection of SCIRun objects bundled into one stream. As the number of elements in a stream is only limited by the amount of memory that can be used, far more variables can be transported into and out of the module. However this comes with the price of a less straight forward representation of data in matlab. In this case all input and output matlab arrays are structures whose field can represent any of the SCIRun objects currently supported by the Matlab package. Note the currently colormaps and path streams are not supported, although they can be fit into a bundled stream, it is not available in a matlab representation. Converters for those classes will be implemented if they are needed.
The bundle to matlab converter has some specific options as well. For matrices and nrrds the default behaviour is to convert them directly into a numeric dense or sparse matrix and all the other properties of the SCIRun object are stripped away, whereas fields are represented by a sub structure, with fields as defined by the MatlabFieldWriter. The options 'numeric array' and 'struct array' control how matrices and nrrds are converted. In case of 'numeric array' all nrrds and matrices will be dense or sparse matrices and the additional fields within the SCIRun object will be stripped away, such as axis names etc. This is the default behavior. In case of 'struct array' all the SCIRun Matrix and Nrrd objects will be translated into sub structures with all the additional SCIRun data put in the fields of this sub matrix. This module will always convert a field into a structure.
The matlab to bundle converter is a little bit more complicated since there are more options for conversion. The first parameter controlling the conversion process is 'prefer matrices' or 'prefer nrrds'. This option controls whether a matrix is converted into a nrrd or a matrix. Of course, some objects like sparse matrices can only be represented by a SCIRun Matrix object and will hence be translated so. The same is true for matrices with a dimension higher than two, these can only become nrrds. For the others there are two representations possible, this option just specifies the preference the user has. Note that matrices and nrrds in the Bundled Stream can be inserted as nrrds and read out matrices. One thing one should keep in mind that in the matlab converter the first dimension of a nrrd is assumed to be the rows space and secondly the column space. Some functions expect the opposite order. Unfortunately the order is not specified in the nrrd object. In case you run into unexpected transposed matrices, use the built in function of the BundleGetMatrix and BundleGetNrrd to do these transpose operations.
A second choice is whether the substructure represent bundles or scirun objects like fields, nrrds, and matrices. When a field in matlab is a dense, sparse or a string the conversion is obvious. However when it is a structure it can be split into a sub bundle with all the fields being separate objects or they can represent more complicate objects such as fields. The default option is 'prefer sciobjects', which will first try to see if the fields correspond to any of the object defined in SCIRun. For example when a subarray has a field called 'node' it will be translated into a field. If no suitable conversion can be found it will be translated into a bundle. In case of 'prefer bundles' all substructures will be bundles again. This means sno fields will be generated and the translation will be a bundle with subbundles that contain only nrrds and matrices.
====Overview Matlab/InterfaceWithMatlabViaBundles module mechanism====
This module launches MATLAB as a separate process under control of SCIRun. The process can be on a remote machine or a local machine. In case the module is running on a remote machine the communication with matlab will be through sockets. In the latter case the entry fields in the middle panel of the GUI will need to be filled out with the IP address (it will automatically do a DNS lookup), the port number and a password. A password is only necessary for a remote MATLAB engine that is configured to require a password when launching MATLAB. The current implementation has an optional password in the matlabegine.rc, if this field is left empty no password check is done. The current implementation does not make use of secure sockets, this implementation is still under development. In order to run multiple MATLAB processes simultaneously different sessions can be launched. Each session on the same machine will share the global workspace in MATLAB and code is being executed sequentially for all modules making use of that session. Hence variables declared in the global workspace can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the MATLAB OUTPUT window. The module needs to be executed in order to launch matlab, but will then remain active until the module is destroyed. Alternatively MATLAB can be launched from the MatlabEngine Status panel in the right lower corner. It can be disconnected using the 'disconnect' button in the same panel. That the MATLAB process is kept alive between executions is done to smoothen the executing of matlab networks and as well to be able to store variables in matlab's workspace for later usage. However before the module is executed the translation table of SCIRun objects to matlab objects needs to be setup. This is accomplished by connecting the SCIRun object to one of the input ports on the module. Note that there are ports for Matrices, Fields and Nrrds. In the translation menu the Field section deals with the translation of fields, the Matrix section with the translation of Matrices and the Nrrd section with the translation of the nrrds. Each line in this translation table refers to one set of input and output ports. First of all the module will need to know how the object should be called in MATLAB, it is going to be a matlab array and thus needs to have a name. Then depending on the SCIRun object the object can be translated into structured arrays or numeric arrays, whose numeric format can be set as well. See the sections below for more details. Then at the end of the line the name of the matlab array that needs to be translated back into a SCIRun object. Here a name is sufficient as the translation process will do the rest. The name can be the same as the input array, but it might refer to another array as well.
The process of running code in MATLAB is accomplished as follows: SCIRun will translate the SCIRun objects into matlab compatible objects and write them in a file and then instructs matlab to read this file. Since all communication is through the stdin of matlab, using files makes sure that the data does not have to be written out in ASCII readable code. The module is smart enough to recognize that it translated objects before. If this is the case it will not do the translation again and it will use the file already generated. When loading data into matlab the objects that were already there with the same name will be overwritten. Subsequently the module will take the code the user entered in the GUI and wrap it in a 'try/catch' environment and execute it in matlab. All output generated on the stdout will be displayed in the module. It will write a tag of when the code starts executing as well one on when the code finished executing. These are markers for the module to keep track of when matlab finishes executing code. Please make sure that your progam does NOT generate output that resembles these markers as it will confuse the Matlab Interface. Once the end marker is encountered, the module will instruct matlab to save the variables in the workspace so they can be read in by SCIRun.
The third window on the bottom will show the current status of the matlab engine. Note: when session 0 is requested a new session number will be assigned to the matlab process, which has not been used before. The new session number will appear in this status window. This option can be used to give each MatlabInterface Module its own matlab process running in the background.
====Local configuration====
Before the module can be used, SCIRun needs to know how to run matlab on the local machine. This is accomplished by the configuration file 'matlabengine.rc', which will be created in the SCIRun/services directory in your local HOME directory. This file is copied out of the src tree the first time SCIRun is run. This file configures how matlab should be run. Edit the line 'startmatlab=' to instruct SCIRun how matlab should be started from an 'sh'-compatible shell. If matlab can already be found using the PATH settings in the shell launching SCIRun, this line probably does not need to be altered. All other fields in this file refer to running matlab on a remote machine. In case SCIRun will not be able to launch matlab a message will be displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENIGNE ADDRESS' in the GUI needs to have an empty Address and does not require a port. SCIRun will in this case automatically launch matlab locally. In the latter case no password checks are done. The local manager does support multiple sessions. To clarify the word session: a session is a matlab process. When multiple Matlab modules make use of the same session the workspace in matlab is shared. Hence one module can be used to load a large matrix into matlab, whereas another one can be used to iterate over a process with small matrices, while using the big matrix stored by the first one. This will allow for some efficiency improvements.
====Remote configuration====
In order to run matlab on a different machine then SCIRun, a small server program needs to be run on the remote machine. The latter is called 'scirunremote', this program sets up a socket for listening and launches matlab when a request is made on its socket. This program uses the same 'matlabengine.rc' file as the module (though it will look in the local HOME directory of the remote machine). This configuration file can be used to set a password, restrict login to only certain machines in a certain domain. Currently the communication is over an open socket in the future an openssl implementation will be used for secure connections. In order to launch the scirunremote program, type 'scirunremote -port 5678', or which ever port you want to use. The latter program must be run on the remote system and serves as a daemon for starting all kinds of external programs. When launching this application a list of services will be displayed. For the matlab engine to work properly two services need to be switched on: matlabengine and matlabenginefiletransfer. The currently implementation requires the last one even if there is a shared home directory. In the latter case no files are transfered, and only the names of the directories in which temporary files are stored are exchanged. The latter mechanism will reduce the amount of network traffic and hopefully speed up the function of this module.
====Configuration file====
This section shortly lists the different options that can be set in the configuration file 'SCIRun/services/matlabengine.rc'
START MATLAB: This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
DISABLE: This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
PASSWORD: A simple password, as a first line of defense. Better ways will follow.
RHOSTS: A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
MATLABTIMEOUT: How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:Project:Matlab
0
1076
1735
1734
2006-11-09T23:29:08Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
1736
1735
2006-11-09T23:56:49Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
1740
1736
2006-11-09T23:57:58Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
2087
1740
2006-11-14T00:02:13Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:Matlab2SCIRun.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
File:Matlab2SCIRun.png
6
1740
3802
2006-11-13T23:58:28Z
Dbrayford
43
wikitext
text/x-wiki
CIBC:Documentation:SCIRun:Reference:SCIRun
0
1095
1742
1741
2006-11-14T01:10:08Z
Jeroen
19
/* '''DataIO''' */
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a '''bundle''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a '''colormap2''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a '''colormap''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a '''field''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a '''matrix''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a '''nrrd''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a '''path''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a '''string''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module inserts a '''bundle''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module inserts a '''colormap2''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module inserts a '''colormap''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module inserts a '''field''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module inserts a '''matrix''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module inserts a '''nrrd''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module inserts a '''path''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module inserts a '''string''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This module merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldData2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldData3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a '''bundle''' from file (''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:This module reads a '''colormap''' from file (''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:This module reads a '''colormap2D''' from file (''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:This module reads a '''field''' from file (''.fld'' file and various other formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:This module reads a '''matrix''' from file (''.mat'' file and various other formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:This module reads a '''camera path''' from file (''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a '''bundle''' to file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:This module writes a '''colormap''' to file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:This module writes a '''colormap2D''' to file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:This module writes a '''field''' to file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:This module writes a '''matrix''' to file.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:This module writes a '''camera path''' to file.
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|AppendMatrix]]
:Composite a matrix from components.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
1747
1742
2006-11-14T01:17:44Z
Jeroen
19
/* '''DataIO''' */
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a '''bundle''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a '''colormap2''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a '''colormap''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a '''field''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a '''matrix''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a '''nrrd''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a '''path''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a '''string''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module inserts a '''bundle''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module inserts a '''colormap2''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module inserts a '''colormap''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module inserts a '''field''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module inserts a '''matrix''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module inserts a '''nrrd''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module inserts a '''path''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module inserts a '''string''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This module merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldData2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldData3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a '''bundle''' from file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:This module reads a '''colormap''' from file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:This module reads a '''colormap2D''' from file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:This module reads a '''field''' from file (a SCIRun ''.fld'' file and various other formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:This module reads a '''matrix''' from file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:This module reads a '''camera path''' from file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadString|ReadString]]
:This module reads a '''string''' from file (an ASCII text file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a '''bundle''' to file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:This module writes a '''colormap''' to file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:This module writes a '''colormap2D''' to file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:This module writes a '''field''' to file (a SCIRun ''.fld'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:This module writes a '''matrix''' to file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:This module writes a '''camera path''' to file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteString|WriteString]]
:This module writes a '''string''' to file (an ASCII text file).
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|AppendMatrix]]
:Composite a matrix from components.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
1807
1747
2006-11-14T03:20:35Z
Jeroen
19
/* '''Math''' */
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a '''bundle''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a '''colormap2''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a '''colormap''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a '''field''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a '''matrix''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a '''nrrd''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a '''path''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a '''string''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module inserts a '''bundle''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module inserts a '''colormap2''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module inserts a '''colormap''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module inserts a '''field''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module inserts a '''matrix''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module inserts a '''nrrd''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module inserts a '''path''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module inserts a '''string''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This module merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldData2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldData3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a '''bundle''' from file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:This module reads a '''colormap''' from file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:This module reads a '''colormap2D''' from file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:This module reads a '''field''' from file (a SCIRun ''.fld'' file and various other formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:This module reads a '''matrix''' from file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:This module reads a '''camera path''' from file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadString|ReadString]]
:This module reads a '''string''' from file (an ASCII text file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a '''bundle''' to file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:This module writes a '''colormap''' to file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:This module writes a '''colormap2D''' to file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:This module writes a '''field''' to file (a SCIRun ''.fld'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:This module writes a '''matrix''' to file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:This module writes a '''camera path''' to file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteString|WriteString]]
:This module writes a '''string''' to file (an ASCII text file).
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|CollectMatrices]]
:This module appends/replaces rows or columns of a matrix while looping through a network.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
1870
1807
2006-11-17T17:43:16Z
Jeroen
19
/* '''ChangeFieldData''' */
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a '''bundle''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a '''colormap2''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a '''colormap''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a '''field''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a '''matrix''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a '''nrrd''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a '''path''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a '''string''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module inserts a '''bundle''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module inserts a '''colormap2''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module inserts a '''colormap''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module inserts a '''field''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module inserts a '''matrix''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module inserts a '''nrrd''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module inserts a '''path''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module inserts a '''string''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This module merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldDataCompiled]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldDataCompiled2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldDataCompiled3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a '''bundle''' from file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:This module reads a '''colormap''' from file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:This module reads a '''colormap2D''' from file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:This module reads a '''field''' from file (a SCIRun ''.fld'' file and various other formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:This module reads a '''matrix''' from file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:This module reads a '''camera path''' from file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadString|ReadString]]
:This module reads a '''string''' from file (an ASCII text file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a '''bundle''' to file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:This module writes a '''colormap''' to file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:This module writes a '''colormap2D''' to file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:This module writes a '''field''' to file (a SCIRun ''.fld'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:This module writes a '''matrix''' to file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:This module writes a '''camera path''' to file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteString|WriteString]]
:This module writes a '''string''' to file (an ASCII text file).
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|CollectMatrices]]
:This module appends/replaces rows or columns of a matrix while looping through a network.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle
0
1539
1744
1743
2006-11-14T01:29:47Z
Jeroen
19
/* Summary */
wikitext
text/x-wiki
=='''ReadBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module reads a '''bundle''' dataflow from file.
====Detailed Description====
This module reads a '''bundle''' from disk. A bundle file has a .bdl extension and can be written with the BundleWriter module. In a bdl file every component is stored. Hence it can be used to group a lot of different SCIRun objects together and store it in one file.
----
===Frequently Asked Questions===
;Does the bundle writer store duplicate objects twice in a file?
:No, the bundle writer will detect whether objects are the same. For instance if two fields use the same mesh, the mesh is only stored once in the file. This way memory and space is conserved.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
3678
1744
2006-11-14T01:44:39Z
Jeroen
19
wikitext
text/x-wiki
=='''ReadBundle'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module reads a '''bundle''' from file.
====Detailed Description====
This module reads a '''bundle''' from file. A bundle file has a ''.bdl'' extension and can be written with the WriteBundle module. In a ''.bdl'' file every component is stored. Hence it can be used to group a lot of different SCIRun objects together and store it in one file.
This module has one input port through which the user can define the name of the file that needs to be read. If this port is connected to a '''string''' dataflow object, this name is used instead the one entered in the GUI.
This module has two output ports: the first port contains the bundle that was read and the second port contains a copy of the filename. Hence if one wants to annotate the results, this filename can be displayed using the ShowString module.
----
===Frequently Asked Questions===
;Does the bundle writer store duplicate objects twice in a file?
:No, the bundle writer will detect whether objects are the same. For instance if two fields use the same mesh, the mesh is only stored once in the file. This way memory and space is conserved.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:ReadString
0
1741
3793
2006-11-14T02:36:06Z
Jeroen
19
wikitext
text/x-wiki
=='''ReadString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module reads a '''string''' from file.
====Detailed Description====
This module reads a '''string''' from file. A string is in essence a text file and this module imports a text file as a string. The default extension used by SCIRun for text files is ''.txt'', although any file containing ASCII text can be read by this module.
This module has one input port through which the user can define the name of the file that needs to be read. If this port is connected to a '''string''' dataflow object, this name is used instead the one entered in the GUI.
This module has two output ports: the first port contains the bundle that was read and the second port contains a copy of the filename. Hence if one wants to annotate the results, this filename can be displayed using the ShowString module.
----
===Frequently Asked Questions===
;Is there a native SCIRun '''string''' format like there is for fields?
:Yes, there is but it only used for embedding strings into other objects. As a string only contains text, the preferred way of exporting/importing a string is just writing/reading a text file.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:WriteString
0
1742
3884
2006-11-14T02:47:09Z
Jeroen
19
wikitext
text/x-wiki
=='''WriteString'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: DataIO
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module writes a '''string''' to file.
====Detailed Description====
This module writes a '''string''' to file. By default this module will write a text
This module has two input ports: the first port is the string to be exported to the text file and the second is an optional filename. If the latter is connected, this string is used as filename. If this port is unconnected the filename selected in the GUI is used.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix
0
1743
3885
2006-11-14T03:25:09Z
Jeroen
19
CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix moved to CIBC:Documentation:SCIRun:Reference:SCIRun:CollectMatrices
wikitext
text/x-wiki
#REDIRECT [[CIBC:Documentation:SCIRun:Reference:SCIRun:CollectMatrices]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CollectMatrices
0
1425
3564
1748
2006-11-14T03:35:55Z
Jeroen
19
wikitext
text/x-wiki
=='''CollectMatrices'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: Math
:Author(s): David Weinstein
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module appends/replaces a column or a row in/to a matrix while looping through a network.
====Detailed Description====
This module appends, replaces, or prepends a column or row of a matrix. This module does on of these operations each time the module is executed. Hence the appending or replacing operation is in time.
This module has two input ports: the first port is a base matrix, which is read the first time the module is executed, the matrix that needs to be appended is entered through the second input port.
When the user wants to restart the network, he or she needs to clean this module as it would continue to collect matrices. To clear the matrices in the buffer of this module, hit the 'Clear Output' button in the GUI, which will reset this module.
The UI has options to allow the user to select:
Use the GUI to specify the operation which has to be performed each cycle of a network execution: the first column in the GUI specifies whether the module works on rows or columns, the second specifies whether one wants to add or replace the last column or row. The last column specifies whether a column/row is replaced at the start of the matrix (row 0 or column 0) or at the end of the matrix.
'''NOTE''': This module scheduled to be replaced with a simplified version that will allow setting buffer lengths. When the new scheduler is ready this module will be changed.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
File:Cmake win 1.JPG
6
1744
3886
2006-11-14T19:54:30Z
Darbyb
37
wikitext
text/x-wiki
File:CMakeLinuxCore.jpg
6
1745
3887
2006-11-14T20:02:08Z
Darbyb
37
wikitext
text/x-wiki
File:CMakeLinuxCore2.jpg
6
1746
3888
2006-11-14T20:05:43Z
Darbyb
37
Building SCIRun Core with CMake.
wikitext
text/x-wiki
Building SCIRun Core with CMake.
File:CMakeLinuxCore3.jpg
6
1747
3889
2006-11-14T20:06:07Z
Darbyb
37
Last step of building SCIRun Core with CMake.
wikitext
text/x-wiki
Last step of building SCIRun Core with CMake.
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled
0
1113
1809
1808
2006-11-17T17:43:52Z
Jeroen
19
/* '''CalculateFieldData''' */
wikitext
text/x-wiki
=='''CalculateFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldDataCompiled
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Perform a specified functional transform on all of the data in a field.
====Detailed Description====
Compute the specified function on each data element in the input field.
The data transform is specified in the GUI as the body of a C++ function. The input values to the function are x, y, z, and v, where x, y, and z are the positions of the data point and v is the value of the input field's data element. No value is returned, rather set the 'result' variable to the return type. For example, "result = x + v;" would return a new field containing the x position of each element added with the value that was already there. "result = v.x();" could be used to extract the x component of a vector field into a scalar field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
3252
1809
2006-11-17T17:44:05Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateFieldDataCompiled'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldDataCompiled
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Perform a specified functional transform on all of the data in a field.
====Detailed Description====
Compute the specified function on each data element in the input field.
The data transform is specified in the GUI as the body of a C++ function. The input values to the function are x, y, z, and v, where x, y, and z are the positions of the data point and v is the value of the input field's data element. No value is returned, rather set the 'result' variable to the return type. For example, "result = x + v;" would return a new field containing the x position of each element added with the value that was already there. "result = v.x();" could be used to extract the x component of a vector field into a scalar field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData
0
1756
1981
2006-11-17T17:45:21Z
Jeroen
19
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData moved to CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled
wikitext
text/x-wiki
#REDIRECT [[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2
0
1757
1984
2006-11-17T17:46:17Z
Jeroen
19
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2 moved to CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled2
wikitext
text/x-wiki
#REDIRECT [[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled2]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled2
0
1114
3253
1810
2006-11-17T17:46:48Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateFieldDataCompiled2'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Perform a specified functional transform to each pair of data elements in the two input fields.
====Detailed Description====
Compute the specified function for each pair of corresponding data elements in the input fields. In order to correspond the data points, this module requires that the two input fields share the same mesh and have their data at the same location.
The data transform is specified in the GUI as the body of a C++ function. The input values to the function are the x, y, and z positions of the data point, v0 for the first field's data element and v1 for the second field's data element. No value is returned, rather set the 'result' variable to the return type. For example, "result = v0 + v1;" would add each of the corresponding elements of the two fields.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3
0
1758
1986
2006-11-17T17:47:12Z
Jeroen
19
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3 moved to CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled3
wikitext
text/x-wiki
#REDIRECT [[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled3]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled3
0
1115
3254
1811
2006-11-17T17:47:31Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateFieldDataCompiled3'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Perform a specified functional transform on all of the data in a field.
====Detailed Description====
Compute the specified function for each tripple of corresponding data elements in the input fields. In order to correspond the data points, this module requires that the three input fields share the same mesh and have their data at the same location.
The data transform is specified in the GUI as the body of a C++ function. The input values to the function are the x, y, and z positions of the data point, v0 for the first field's data element, v1 for the second field's data element, and v2 for the third field's data element. No value is returned, rather set the 'result' variable to the return type. For example, "result = v0 + v1 + v3;" would add each of the corresponding elements of the two fields. "result = Vector(v0, v1, v2);" would concatenate the values of three scalar fields into a vector field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
File:Ccmake dataflow 1.jpg
6
1759
3901
2006-11-27T16:02:20Z
Darbyb
37
wikitext
text/x-wiki
File:CMakeWinCore1.jpg
6
1760
3906
2006-11-28T02:47:51Z
Darbyb
37
wikitext
text/x-wiki
File:CMakeWinCore2.jpg
6
1761
3902
2006-11-28T02:56:58Z
Darbyb
37
wikitext
text/x-wiki
File:CMakeWinCore3.jpg
6
1762
3903
2006-11-28T02:57:08Z
Darbyb
37
wikitext
text/x-wiki
File:CMakeWinDataflow1.jpg
6
1763
3905
2006-11-28T03:05:03Z
Darbyb
37
wikitext
text/x-wiki
File:CMakeWinDataflow2.jpg
6
1764
3904
2006-11-28T03:07:52Z
Darbyb
37
wikitext
text/x-wiki
File:SCIRunIsosurfaceNet.jpg
6
1765
3907
2006-11-28T20:14:39Z
Darbyb
37
wikitext
text/x-wiki
CIBC:Documentation:SCIRun:ReleaseNotes:3.0
0
1088
3227
1869
2006-11-28T22:04:55Z
Jeroen
19
wikitext
text/x-wiki
== Release Notes for SCIRun/BioPSE Version 3.0 ==
:SCIRun Version 3.0
:Release date: December 12, 2006
:Includes: SCIRun (Core), Packages (BioPSE, Teem, MatlabInterface, ModelCreation)
=== New features ===
====Installation====
* The make system has been converted to CMAKE (See Installation Guide for details).
* The ThirdParty installation now includes the following packages: LibPNG, LibXML, FreeType, and Glew. All are required for SCIRun.
* The following packages have been removed from ThirdParty: Xerces, ImageMagick.
* ThirdParty can now be compiled using the same script for all supported operating systems
====Supported systems====
* Added support for Intel based Macintosh machines.
* Discontinued support for OS X 10.3 or lower (SCIRun now requires the execution of static constructors upon loading a library).
* SCIRun is now supported under Windows XP as well (with the exception of the interactive Matlab modules, which is supported by OS 10.4 and later)
====Visualization====
* The volume renderer supports now a label map (segmentation) to select a specific 2D colormap
* The volume renderer has been rewritten to support larger volumes and automatic bricking if not enough memory is available
* The viewer now supports the visualization of degenerate meshes
* Data located on cell elements is now shown in the viewer using the colormap
* SCIRun now has a model underlying each mesh type of how to interpolate data between nodes.
* Added support for bilinear and trilinear interpolation.
* Added support for visualization of non linear mesh types (Currently limited to visualization).
====Modeling====
* Finite element support has been completely rewritten and now both anisotropic as well as isotropic models are supported for each mesh class available in SCIRun.
* A new module has been added that allows better creating Diriclet Boundary Conditions.
====Network Editor====
* The network editor now blocks all editing while a network is executing (In the next release we will enable this feature again if scheduling problems have been fixed).
* Improved synchroniztion of Viewer and Network.
* The network editor is now able to save relative filenames for increased portablity between systems.
* Save As now displays the current name.
* The network fileformat has been ported to XML. The new network files are now called .srn instead of the old .net files.
====Modules====
* All modules have been given a new name.
====Documentation====
* Documentation has been merged over into a Wiki, so users can help updating and documenting the software system.
=== Bug fixes ===
* Performance issues with Dense and Sparse matrix multiplications have been fixed.
* Performance issues with isosurface generation have been fixed
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun
0
1095
1976
1870
2006-11-28T22:08:32Z
Jeroen
19
/* '''Package Description''' */
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
The SCIRun Core contains general modules that are not specific to one application field.
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a '''bundle''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a '''colormap2''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a '''colormap''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a '''field''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a '''matrix''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a '''nrrd''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a '''path''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a '''string''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module inserts a '''bundle''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module inserts a '''colormap2''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module inserts a '''colormap''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module inserts a '''field''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module inserts a '''matrix''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module inserts a '''nrrd''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module inserts a '''path''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module inserts a '''string''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This module merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldDataCompiled]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldDataCompiled2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldDataCompiled3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a '''bundle''' from file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:This module reads a '''colormap''' from file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:This module reads a '''colormap2D''' from file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:This module reads a '''field''' from file (a SCIRun ''.fld'' file and various other formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:This module reads a '''matrix''' from file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:This module reads a '''camera path''' from file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadString|ReadString]]
:This module reads a '''string''' from file (an ASCII text file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a '''bundle''' to file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:This module writes a '''colormap''' to file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:This module writes a '''colormap2D''' to file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:This module writes a '''field''' to file (a SCIRun ''.fld'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:This module writes a '''matrix''' to file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:This module writes a '''camera path''' to file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteString|WriteString]]
:This module writes a '''string''' to file (an ASCII text file).
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|CollectMatrices]]
:This module appends/replaces rows or columns of a matrix while looping through a network.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
1978
1976
2006-12-12T17:27:42Z
Jeroen
19
/* '''Package Description''' */
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
The SCIRun Core contains general modules that are not specific to one application field. This documentation page contains documentation for each module in the SCIRun Core.
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a '''bundle''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a '''colormap2''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a '''colormap''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a '''field''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a '''matrix''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a '''nrrd''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a '''path''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a '''string''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module inserts a '''bundle''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module inserts a '''colormap2''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module inserts a '''colormap''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module inserts a '''field''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module inserts a '''matrix''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module inserts a '''nrrd''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module inserts a '''path''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module inserts a '''string''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This module merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldDataCompiled]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldDataCompiled2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldDataCompiled3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a '''bundle''' from file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:This module reads a '''colormap''' from file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:This module reads a '''colormap2D''' from file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:This module reads a '''field''' from file (a SCIRun ''.fld'' file and various other formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:This module reads a '''matrix''' from file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:This module reads a '''camera path''' from file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadString|ReadString]]
:This module reads a '''string''' from file (an ASCII text file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a '''bundle''' to file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:This module writes a '''colormap''' to file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:This module writes a '''colormap2D''' to file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:This module writes a '''field''' to file (a SCIRun ''.fld'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:This module writes a '''matrix''' to file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:This module writes a '''camera path''' to file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteString|WriteString]]
:This module writes a '''string''' to file (an ASCII text file).
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|CollectMatrices]]
:This module appends/replaces rows or columns of a matrix while looping through a network.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
1983
1978
2006-12-12T18:02:14Z
Jeroen
19
/* '''ChangeFieldData''' */
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
The SCIRun Core contains general modules that are not specific to one application field. This documentation page contains documentation for each module in the SCIRun Core.
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a '''bundle''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a '''colormap2''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a '''colormap''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a '''field''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a '''matrix''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a '''nrrd''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a '''path''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a '''string''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module inserts a '''bundle''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module inserts a '''colormap2''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module inserts a '''colormap''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module inserts a '''field''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module inserts a '''matrix''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module inserts a '''nrrd''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module inserts a '''path''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module inserts a '''string''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This module merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToField|CalculateDistanceToField]]
:Calculate the distance field to a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToFieldBoundary|CalculateDistanceToFieldBoundary]]
:Calculate the distance field to a boundary of a given mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData]]
:Calculate new data for the field given a function that uses field data, node location and element properties as input.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData2]]
:Calculate new data for the field given a function that uses field data, node location and element properties as input, with a second input port for a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData3]]
:Calculate new data for the field given a function that uses field data, node location and element properties as input, with a second and third input port for two additional fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldDataCompiled]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldDataCompiled2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldDataCompiled3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateInsideWhichField|CalculateInsideWhichField]]
:Calculate inside which field of a number of given fields a certain element is located.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateIsInsideField|CalculateIsInsideField]]
:Calculate whether an element of one field is inside the domain of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateSignedDistanceToField|CalculateSignedDistanceToField]]
:Calculate the distance to a surface mesh and use the normal of the surface to determine on which side of the surface the element is located.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertIndicesToFieldData|ConvertIndicesToFieldData]]
:Convert a field with indices as data values into a field with values assigned to each index using a lookup table.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateFieldData|CreateFieldData]]
:This module assigns a value to each element or node of the mesh based on a given function, that is based on the location of nodes and elements and properties of the elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromElemToNode|MapFieldDataFromElemToNode]]
:This module contains several filters for converting data that is stored in the elements to data that is stored in the nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromNodeToElem|MapFieldDataFromNodeToElem]]
:This module contains several filters for converting data that is stored in the nodes to data that is stored in the elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CICB:Documentation:SCIRun:Reference:SCIRun:SelectAndSetFieldData|SelectAndSetFieldData]]
:This module selects a function based on the input values of the field and then applies this function to assign a new value to the field.
;[[CICB:Documentation:SCIRun:Reference:SCIRun:SelectAndSetFieldData2|SelectAndSetFieldData2]]
:This module selects a function based on the input values of the field and then applies this function to assign a new value to the field. This module contains one additional field port to be used for selecting and setting data values.
;[[CICB:Documentation:SCIRun:Reference:SCIRun:SelectAndSetFieldData3|SelectAndSetFieldData3]]
:This module selects a function based on the input values of the field and then applies this function to assign a new value to the field. This module contains two additional field ports to be used for selecting and setting data values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Report the quality of the elements of the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a '''bundle''' from file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:This module reads a '''colormap''' from file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:This module reads a '''colormap2D''' from file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:This module reads a '''field''' from file (a SCIRun ''.fld'' file and various other formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:This module reads a '''matrix''' from file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:This module reads a '''camera path''' from file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadString|ReadString]]
:This module reads a '''string''' from file (an ASCII text file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a '''bundle''' to file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:This module writes a '''colormap''' to file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:This module writes a '''colormap2D''' to file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:This module writes a '''field''' to file (a SCIRun ''.fld'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:This module writes a '''matrix''' to file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:This module writes a '''camera path''' to file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteString|WriteString]]
:This module writes a '''string''' to file (an ASCII text file).
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|CollectMatrices]]
:This module appends/replaces rows or columns of a matrix while looping through a network.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
1985
1983
2006-12-12T19:00:48Z
Jeroen
19
/* '''ChangeFieldData''' */
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
The SCIRun Core contains general modules that are not specific to one application field. This documentation page contains documentation for each module in the SCIRun Core.
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a '''bundle''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a '''colormap2''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a '''colormap''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a '''field''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a '''matrix''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a '''nrrd''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a '''path''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a '''string''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module inserts a '''bundle''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module inserts a '''colormap2''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module inserts a '''colormap''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module inserts a '''field''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module inserts a '''matrix''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module inserts a '''nrrd''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module inserts a '''path''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module inserts a '''string''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This module merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToField|CalculateDistanceToField]]
:Calculate the distance field to a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToFieldBoundary|CalculateDistanceToFieldBoundary]]
:Calculate the distance field to a boundary of a given mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData]]
:Calculate new data for the field given a function that uses field data, node location and element properties as input.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldData2]]
:Calculate new data for the field given a function that uses field data, node location and element properties as input, with a second input port for a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldData3]]
:Calculate new data for the field given a function that uses field data, node location and element properties as input, with a second and third input port for two additional fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldDataCompiled]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldDataCompiled2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldDataCompiled3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateInsideWhichField|CalculateInsideWhichField]]
:Calculate inside which field of a number of given fields a certain element is located.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateIsInsideField|CalculateIsInsideField]]
:Calculate whether an element of one field is inside the domain of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateSignedDistanceToField|CalculateSignedDistanceToField]]
:Calculate the distance to a surface mesh and use the normal of the surface to determine on which side of the surface the element is located.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertIndicesToFieldData|ConvertIndicesToFieldData]]
:Convert a field with indices as data values into a field with values assigned to each index using a lookup table.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateFieldData|CreateFieldData]]
:This module assigns a value to each element or node of the mesh based on a given function, that is based on the location of nodes and elements and properties of the elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromElemToNode|MapFieldDataFromElemToNode]]
:This module contains several filters for converting data that is stored in the elements to data that is stored in the nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromNodeToElem|MapFieldDataFromNodeToElem]]
:This module contains several filters for converting data that is stored in the nodes to data that is stored in the elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CICB:Documentation:SCIRun:Reference:SCIRun:SelectAndSetFieldData|SelectAndSetFieldData]]
:This module selects a function based on the input values of the field and then applies this function to assign a new value to the field.
;[[CICB:Documentation:SCIRun:Reference:SCIRun:SelectAndSetFieldData2|SelectAndSetFieldData2]]
:This module selects a function based on the input values of the field and then applies this function to assign a new value to the field. This module contains one additional field port to be used for selecting and setting data values.
;[[CICB:Documentation:SCIRun:Reference:SCIRun:SelectAndSetFieldData3|SelectAndSetFieldData3]]
:This module selects a function based on the input values of the field and then applies this function to assign a new value to the field. This module contains two additional field ports to be used for selecting and setting data values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Report the quality of the elements of the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a '''bundle''' from file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:This module reads a '''colormap''' from file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:This module reads a '''colormap2D''' from file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:This module reads a '''field''' from file (a SCIRun ''.fld'' file and various other formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:This module reads a '''matrix''' from file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:This module reads a '''camera path''' from file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadString|ReadString]]
:This module reads a '''string''' from file (an ASCII text file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a '''bundle''' to file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:This module writes a '''colormap''' to file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:This module writes a '''colormap2D''' to file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:This module writes a '''field''' to file (a SCIRun ''.fld'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:This module writes a '''matrix''' to file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:This module writes a '''camera path''' to file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteString|WriteString]]
:This module writes a '''string''' to file (an ASCII text file).
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|CollectMatrices]]
:This module appends/replaces rows or columns of a matrix while looping through a network.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToField
0
1244
1872
1871
2006-11-28T22:13:48Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateDistanceToField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes the minimum distance between an object and the nodes in field or the center of the elements.
====Detailed Description====
This module computes the minimum distance between a node or an element (center of element) and a mesh. In case the object field is a point cloud the module computes the distance to the closest node, in case the object mesh is a curve it will find the closest distance to the curve, etc. The result is a field where the scalar values refer to the distances to the object field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRUn]]
1979
1872
2006-11-28T22:14:00Z
Jeroen
19
/* Recent Changes */
wikitext
text/x-wiki
=='''CalculateDistanceToField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes the minimum distance between an object and the nodes in field or the center of the elements.
====Detailed Description====
This module computes the minimum distance between a node or an element (center of element) and a mesh. In case the object field is a point cloud the module computes the distance to the closest node, in case the object mesh is a curve it will find the closest distance to the curve, etc. The result is a field where the scalar values refer to the distances to the object field.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
3383
1979
2006-12-12T18:15:12Z
Jeroen
19
/* '''CalculateDistanceToField''' */
wikitext
text/x-wiki
=='''CalculateDistanceToField'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes the minimum distance between an object (field or mesh )and the nodes in field or the center of the elements.
====Detailed Description====
This module computes the minimum distance between a node or an element (center of element) and a mesh. In case the object field is a point cloud the module computes the distance to the closest node, in case the object mesh is a curve it will find the closest distance to the curve, etc. The result is a field where the scalar values refer to the distances to the object field. The first input of this module is the field at which the distance field needs to be calculated, the second input port defines the field the distance to which needs to be calculated.
If the original field has the data located on the nodes of the mesh, these nodes are used to calculate the distance to the field object, if the data is located on the elements the distance to the center of the elements is calculated. If no data is stored in the field, the distance to the nodes is calculated.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateDistanceToField
0
1766
3908
2006-11-28T22:14:25Z
Jeroen
19
CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateDistanceToField moved to CIBC:Documentation:SCIRun:SCIRun:ModelCreation:CalculateDistanceToField
wikitext
text/x-wiki
#REDIRECT [[CIBC:Documentation:SCIRun:SCIRun:ModelCreation:CalculateDistanceToField]]
File:ContourField.gif
6
1767
3909
2006-11-30T00:04:54Z
Blackham
44
wikitext
text/x-wiki
File:Hexvol.gif
6
1768
3910
2006-11-30T00:05:40Z
Blackham
44
wikitext
text/x-wiki
File:ImageField.gif
6
1769
3911
2006-11-30T00:05:53Z
Blackham
44
wikitext
text/x-wiki
File:Pointcloud.gif
6
1770
3912
2006-11-30T00:06:06Z
Blackham
44
wikitext
text/x-wiki
File:Prismvol.gif
6
1771
3913
2006-11-30T00:06:20Z
Blackham
44
wikitext
text/x-wiki
File:Quadsurf.gif
6
1772
3914
2006-11-30T00:06:35Z
Blackham
44
wikitext
text/x-wiki
File:ScanlineField.gif
6
1773
3915
2006-11-30T00:06:46Z
Blackham
44
wikitext
text/x-wiki
File:StructHexVol2.gif
6
1774
3916
2006-11-30T00:06:59Z
Blackham
44
wikitext
text/x-wiki
File:StructQuadSurf2.gif
6
1775
3917
2006-11-30T00:07:11Z
Blackham
44
wikitext
text/x-wiki
File:Tetvol.gif
6
1776
3918
2006-11-30T00:07:25Z
Blackham
44
wikitext
text/x-wiki
File:Trisurf.gif
6
1777
3919
2006-11-30T00:07:36Z
Blackham
44
wikitext
text/x-wiki
File:Latticevol.gif
6
1778
3920
2006-11-30T00:09:58Z
Blackham
44
wikitext
text/x-wiki
File:BlankSCIRun.gif
6
1779
3921
2006-11-30T00:24:55Z
Blackham
44
wikitext
text/x-wiki
File:1 2.gif
6
1780
3922
2006-11-30T00:25:22Z
Blackham
44
wikitext
text/x-wiki
File:1 2b.gif
6
1781
3923
2006-11-30T00:25:34Z
Blackham
44
wikitext
text/x-wiki
File:Chap1Net.gif
6
1782
3924
2006-11-30T00:28:07Z
Blackham
44
wikitext
text/x-wiki
Ubuntu Prerequisites(Available in Synaptic)
0
1784
3927
2006-11-30T21:01:17Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
== Package Pre-Requisites: Ubuntu ==
These packages maybe necessary in to have full functionality in building SCIRun:
emacs, x-libs, xlibs-dev, flex, bison, subversion, libpng, smp kernel, libxaw, libxaw-dev, libglew, imagemagick, lapack, blas, g77, gcc,g++, make, cmake (version 2.2 available in Universe)
Each is available in Synaptic Package Manager. For information on installing your graphics card in ubuntu see that section on the main page.
Ubuntu Prerequisites(Packages to Install)
0
1785
3928
2006-11-30T23:46:18Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
==Packages to Install on Ubuntu==
Ubuntu is an easy to use Debian based linux OS which recongnizes most hardware and often "just works" with the exception of graphics card installation(see section on main page).
It is also a minimal install and you make the the following packages may need the following packages in order to build SCIRUN.
x-libs, xlibs-dev, flex, bison, subversion, libpng, smp kernel, libxaw, libxaw-dev, libglew, lapack, blas, g77, gcc, g++, make, cmake(available in Universe)
Fortunately the synaptic package manager is an easy to use GUI for package management. For an introduction to using it see:
https://help.ubuntu.com/6.06/ubuntu/desktopguide/C/index.html
Ubuntu Prerequisites (Packages to Install)
0
1786
1946
2006-12-03T16:13:13Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
--SCIRun on Ubuntu--
Ubuntu comes with a relatively minimal install and several packages may be required. It is easy to get the necessary packages listed below vis the Synaptic package manager.
Many packages are part of the initial basic install, but make sure these are installed before preceding: x-libs, xlibs-dev, flex, bison, subversion, libpng, smp kernel, libxaw, libxaw-dev, libglew, lapack, blas, g77, gcc,g++, make, cmake
Several of these may have been added to the Standard Thirdparty.
2042
1946
2006-12-03T16:13:57Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
Ubuntu comes with a relatively minimal install and several packages may be required. It is easy to get the necessary packages listed below vis the Synaptic package manager.
Many packages are part of the initial basic install, but make sure these are installed before preceding: x-libs, xlibs-dev, flex, bison, subversion, libpng, smp kernel, libxaw, libxaw-dev, libglew, lapack, blas, g77, gcc,g++, make, cmake
Several of these may have been added to the Standard Thirdparty.
File:Prev g.gif
6
1788
3932
2006-12-05T18:42:12Z
Darbyb
37
wikitext
text/x-wiki
File:Next g.gif
6
1789
3933
2006-12-05T18:42:27Z
Darbyb
37
wikitext
text/x-wiki
File:Next.gif
6
1790
3934
2006-12-05T18:43:20Z
Darbyb
37
wikitext
text/x-wiki
File:Up g.gif
6
1791
3935
2006-12-05T18:43:33Z
Darbyb
37
wikitext
text/x-wiki
File:Index.gif
6
1792
3936
2006-12-05T18:45:47Z
Darbyb
37
wikitext
text/x-wiki
CIBC:Seg3D
0
1793
3937
2006-12-11T20:35:57Z
Cates
4
wikitext
text/x-wiki
=Seg3D User Guide=
--[[User:Cates|Cates]] 13:35, 11 Dec 2006 (MST)
==Overview==
This document describes the basic use of the Seg3D volume processing and segmentation tool.
==Tutorial==
1. Basics. Open file. Create layers. draw. erase. delete layer. save session.
2. Load session. Connected Component segmentation. Isosurface Edit result. Save segmentation file.
Image procession. Image morphology. Multiple images. Levelsets.
Main Page
0
1
1973
1972
2006-12-11T23:30:05Z
Erikj
2
/* Seg3D */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
The release Seg3D is near.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Documentation Portal===
;[[CIBC:Documentation| Documentation Portal]]
:Access the SCIRun/BioPSE documentation tree
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1974
1973
2006-12-12T00:31:35Z
Erikj
2
/* Please Participate! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<h3>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</h3>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
The release Seg3D is near.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Documentation Portal===
;[[CIBC:Documentation| Documentation Portal]]
:Access the SCIRun/BioPSE documentation tree
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
1975
1974
2006-12-12T00:32:37Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
The release Seg3D is near.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Documentation Portal===
;[[CIBC:Documentation| Documentation Portal]]
:Access the SCIRun/BioPSE documentation tree
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
2080
1975
2006-12-12T00:33:02Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
The release Seg3D is near.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Documentation Portal===
;[[CIBC:Documentation| Documentation Portal]]
:Access the SCIRun/BioPSE documentation tree
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
File:FieldReaderIcon.gif
6
1794
3925
2006-12-12T00:37:07Z
Blackham
44
wikitext
text/x-wiki
CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix
0
1112
3251
1977
2006-12-12T17:39:54Z
Jeroen
19
/* '''ApplyMappingMatrix''' */
wikitext
text/x-wiki
=='''ApplyMappingMatrix'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Michael Callahan
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Apply a mapping matrix to project the data from one field onto the mesh of another field.
====Detailed Description====
Mapping data from a '''source field''' to a '''destination field''' can be done in a two stage process. First one builds a mapping matrix that describes which linear combination of data values of the source field needs to be taken to form a value in the destination field and secondly one multiplies the data vector of the source data with this matrix to obtain the destination data vector. This module accomplishes the second stage of this process. In order to build a mapping matrix use the module '''BuildMappingMatrix''' in the MiscField category. The reason for splitting this process is to improve performance of the mapping.
A second advantage of calculating the mapping matrix is that multiple mapping matrices can be built, which then can be multiplied to create the mapping matrix that spans a series of mesh operations.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:SCIRun:ModelCreation:CalculateDistanceToField
0
1795
3938
2006-12-12T18:10:32Z
Jeroen
19
CIBC:Documentation:SCIRun:SCIRun:ModelCreation:CalculateDistanceToField moved to CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToField
wikitext
text/x-wiki
#REDIRECT [[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToField]]
CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateDistanceToFieldBoundary
0
1796
3822
2006-12-12T18:16:27Z
Jeroen
19
CIBC:Documentation:SCIRun:Reference:ModelCreation:CalculateDistanceToFieldBoundary moved to CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToFieldBoundary
wikitext
text/x-wiki
#REDIRECT [[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToFieldBoundary]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToFieldBoundary
0
1245
3384
1980
2006-12-12T18:20:45Z
Jeroen
19
/* '''CalculateDistanceToFieldBoundary''' */
wikitext
text/x-wiki
=='''CalculateDistanceToFieldBoundary'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module computes the minimum distance between the boundary of the field and the nodes in field or the center of the elements.
====Detailed Description====
This module computes the minimum distance between the boundary of the field and the nodes in field or the center of the elements. The first input of this module is the field on which we want to calculate the distance, the second input port is the field/mesh the distance to which we want to compute. If the input field has data contained on the nodes, the distance to the nodes of the mesh will be calculated, if the data is located at the elements, the distance to the center of the element will be calculated. If the input field contains no data, the distance to its nodes will be calculated.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData
0
1756
1982
1981
2006-12-12T18:58:34Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module calculates a new value for each value in the field data based on a user defined function. This function is based on a series of variables that is available for each data location. Once the function is defined, the module will walk through each data value and apply the function.
====Detailed Description====
====Overview====
This module allows the computation of a new scalar, vector or tensor value for each data location in the field. The user define function can depend on a number of variables that are defined for each location:
====Input variables====
'''DATA''': This is the current value stored in the field (either on the element or the node location).
'''X,Y,Z''': Cartesian coordinates of the node or element (center of the element)
'''POS''': Vector with cartesian coordinates of the node or element
'''A,B,C,...''': Input from additional matrix ports. The input matrix can have either 1 row or the same number of rows as there are values in the field. In case the matrix has one value this value is the same for each data location, in case it has multiple values the module iterates of the values in the same way it iterates over the data values of the field. The matrix input can have either 1 column, 3 columns, 6 or 9 columns. In case the matrix has 1 column values are assumed to be scalar values, in case the matrix has 3 columns it is assumed to contain vector values and in case it has either 6 or 9 columns it is assumed to be a tensor value (A 6 valued tensor is defined as xx, xy, xz, yy, yz, and zz).
'''INDEX''': The index number of the element or node.
'''SIZE''': The number of elements or nodes in the field (Depending on the input field type)
'''ELEMENT''': Special access variable to access properties of the element. Currently only length, area, and volume are available to be called on this entity. In case one is iterating over the nodes, the node point is assumed to be the element, in case one is iterating of the elements, this variable is referring to the full element.
====Output variable====
'''RESULT''': The output needs to be stored in the variable RESULT.
====Available functions====
A list of available functions is available in the GUI of the module. Press on the button available functions to obtain a full overview of the current available functions to do Scalar/Vector/Tensor algebra and to view the functions that can be applied to the ELEMENT variable.
====Implementation====
The user defined function is currently being translated in a chunck of code that is compiled using the dynamic compiler, however the current plan is to replace the dynamic compiler with a simple parser. In the latter case not every C++ functionality will be available, and hence it is recommended to stay within the functions defined in the help of the module.
====Input ports====
The first input is the field whose data needs to be recalculated using a function. The second port is an optional port that allows the user to script the module with a user defined input function. This function will override the function given in the GUI of the module. The third and next ports are used to import a matrix. The first port corresponds to matrix A, the next to matrix B and so on. These ports can be used to do algebra with values stored as a matrix or can be used to enter scriptable scalar/vector/tensor values that can be defined elsewhere.
====Output port====
The module has one output port that has the newly defined values.
====Output data type====
As the function is parsed using the compiler, the output type cannot be guessed by the module, hence it needs to be set by the user to the correct data type.
----
===Frequently Asked Questions===
;The module shows up an error dialoge with code, what now?
:This normally happens when the code in the module cannopt be parsed by the compiler. Check whether the algebra makes sense and whether the output type is correct. As the module does not parse the expressions, it does not know whether the output needs to be scalar, vector, or tensor. The user has to specify the correct output format currently. A second cause of the compiler not being able to compile the code is a typo in the expression or a missing semicolon at the end of the expression.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRuun]]
3898
1982
2006-12-12T18:59:18Z
Jeroen
19
/* '''CalculateFieldData''' */
wikitext
text/x-wiki
=='''CalculateFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module calculates a new value for each value in the field data based on a user defined function. This function is based on a series of variables that is available for each data location. Once the function is defined, the module will walk through each data value and apply the function.
====Detailed Description====
====Overview====
This module allows the computation of a new scalar, vector or tensor value for each data location in the field. The user define function can depend on a number of variables that are defined for each location:
====Input variables====
'''DATA''': This is the current value stored in the field (either on the element or the node location).
'''X,Y,Z''': Cartesian coordinates of the node or element (center of the element)
'''POS''': Vector with cartesian coordinates of the node or element
'''A,B,C,...''': Input from additional matrix ports. The input matrix can have either 1 row or the same number of rows as there are values in the field. In case the matrix has one value this value is the same for each data location, in case it has multiple values the module iterates of the values in the same way it iterates over the data values of the field. The matrix input can have either 1 column, 3 columns, 6 or 9 columns. In case the matrix has 1 column values are assumed to be scalar values, in case the matrix has 3 columns it is assumed to contain vector values and in case it has either 6 or 9 columns it is assumed to be a tensor value (A 6 valued tensor is defined as xx, xy, xz, yy, yz, and zz).
'''INDEX''': The index number of the element or node.
'''SIZE''': The number of elements or nodes in the field. (Depending on the input field type)
'''ELEMENT''': Special access variable to access properties of the element. Currently only length, area, and volume are available to be called on this entity. In case one is iterating over the nodes, the node point is assumed to be the element, in case one is iterating of the elements, this variable is referring to the full element.
====Output variable====
'''RESULT''': The output needs to be stored in the variable RESULT.
====Available functions====
A list of available functions is available in the GUI of the module. Press on the button available functions to obtain a full overview of the current available functions to do Scalar/Vector/Tensor algebra and to view the functions that can be applied to the ELEMENT variable.
====Implementation====
The user defined function is currently being translated in a chunck of code that is compiled using the dynamic compiler, however the current plan is to replace the dynamic compiler with a simple parser. In the latter case not every C++ functionality will be available, and hence it is recommended to stay within the functions defined in the help of the module.
====Input ports====
The first input is the field whose data needs to be recalculated using a function. The second port is an optional port that allows the user to script the module with a user defined input function. This function will override the function given in the GUI of the module. The third and next ports are used to import a matrix. The first port corresponds to matrix A, the next to matrix B and so on. These ports can be used to do algebra with values stored as a matrix or can be used to enter scriptable scalar/vector/tensor values that can be defined elsewhere.
====Output port====
The module has one output port that has the newly defined values.
====Output data type====
As the function is parsed using the compiler, the output type cannot be guessed by the module, hence it needs to be set by the user to the correct data type.
----
===Frequently Asked Questions===
;The module shows up an error dialoge with code, what now?
:This normally happens when the code in the module cannopt be parsed by the compiler. Check whether the algebra makes sense and whether the output type is correct. As the module does not parse the expressions, it does not know whether the output needs to be scalar, vector, or tensor. The user has to specify the correct output format currently. A second cause of the compiler not being able to compile the code is a typo in the expression or a missing semicolon at the end of the expression.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRuun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2
0
1757
1987
1984
2006-12-12T19:04:58Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateFieldData'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData2
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module calculates a new value for each value in the field data based on a user defined function. This function is based on a series of variables that is available for each data location. Once the function is defined, the module will walk through each data value and apply the function.
====Detailed Description====
====Overview====
This module allows the computation of a new scalar, vector or tensor value for each data location in the field. The user define function can depend on a number of variables that are defined for each location:
====Input variables====
'''DATA1''': This is the current value stored in the field (either on the element or the node location).
'''DATA2''': This is the value stored in the field on the second input port (either on the element or the node location).
'''X,Y,Z''': Cartesian coordinates of the node or element from the first input field (center of the element)
'''POS''': Vector with cartesian coordinates of the node or element from the first input field.
'''A,B,C,...''': Input from additional matrix ports. The input matrix can have either 1 row or the same number of rows as there are values in the field. In case the matrix has one value this value is the same for each data location, in case it has multiple values the module iterates of the values in the same way it iterates over the data values of the field. The matrix input can have either 1 column, 3 columns, 6 or 9 columns. In case the matrix has 1 column values are assumed to be scalar values, in case the matrix has 3 columns it is assumed to contain vector values and in case it has either 6 or 9 columns it is assumed to be a tensor value (A 6 valued tensor is defined as xx, xy, xz, yy, yz, and zz).
'''INDEX''': The index number of the element or node.
'''SIZE''': The number of elements or nodes in the field. (Depending on the input field type)
'''ELEMENT''': Special access variable to access properties of the element. Currently only length, area, and volume are available to be called on this entity. In case one is iterating over the nodes, the node point is assumed to be the element, in case one is iterating of the elements, this variable is referring to the full element.
====Output variable====
'''RESULT''': The output needs to be stored in the variable RESULT.
====Available functions====
A list of available functions is available in the GUI of the module. Press on the button available functions to obtain a full overview of the current available functions to do Scalar/Vector/Tensor algebra and to view the functions that can be applied to the ELEMENT variable.
====Implementation====
The user defined function is currently being translated in a chunck of code that is compiled using the dynamic compiler, however the current plan is to replace the dynamic compiler with a simple parser. In the latter case not every C++ functionality will be available, and hence it is recommended to stay within the functions defined in the help of the module.
====Input ports====
The first input is the field whose data needs to be recalculated using a function. The second port is an optional port that allows the user to script the module with a user defined input function. This function will override the function given in the GUI of the module. The third and next ports are used to import a matrix. The first port corresponds to matrix A, the next to matrix B and so on. These ports can be used to do algebra with values stored as a matrix or can be used to enter scriptable scalar/vector/tensor values that can be defined elsewhere.
====Output port====
The module has one output port that has the newly defined values.
====Output data type====
As the function is parsed using the compiler, the output type cannot be guessed by the module, hence it needs to be set by the user to the correct data type.
----
===Frequently Asked Questions===
;The module shows up an error dialoge with code, what now?
:This normally happens when the code in the module cannopt be parsed by the compiler. Check whether the algebra makes sense and whether the output type is correct. As the module does not parse the expressions, it does not know whether the output needs to be scalar, vector, or tensor. The user has to specify the correct output format currently. A second cause of the compiler not being able to compile the code is a typo in the expression or a missing semicolon at the end of the expression.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRuun]]
CIBC:Documentation:SCIRun:Reference:SCIRun
0
1095
3232
1985
2006-12-12T19:06:26Z
Jeroen
19
/* '''ChangeFieldData''' */
wikitext
text/x-wiki
=='''SCIRun Reference'''==
==='''Package Description'''===
The SCIRun Core contains general modules that are not specific to one application field. This documentation page contains documentation for each module in the SCIRun Core.
----
==='''Module Reference'''===
==='''Bundle'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetBundlesFromBundle|GetBundlesFromBundle]]
:This module retrieves a '''bundle''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMap2sFromBundle|GetColorMap2sFromBundle]]
:This module retrieves a '''colormap2''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColorMapsFromBundle|GetColorMapsFromBundle]]
:This module retrieves a '''colormap''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldsFromBundle|GetFieldsFromBundle]]
:This module retrieves a '''field''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetMatricesFromBundle|GetMatricesFromBundle]]
:This module retrieves a '''matrix''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetNrrdsFromBundle|GetNrrdsFromBundle]]
:This module retrieves a '''nrrd''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetPathsFromBundle|GetPathsFromBundle]]
:This module retrieves a '''path''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetStringsFromBundle|GetStringsFromBundle]]
:This module retrieves a '''string''' object from a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertBundlesIntoBundle|InsertBundlesIntoBundle]]
:This module inserts a '''bundle''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMap2sIntoBundle|InsertColorMap2sIntoBundle]]
:This module inserts a '''colormap2''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertColorMapsIntoBundle|InsertColorMapsIntoBundle]]
:This module inserts a '''colormap''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertFieldsIntoBundle|InsertFieldsIntoBundle]]
:This module inserts a '''field''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertMatricesIntoBundle|InsertMatricesIntoBundle]]
:This module inserts a '''matrix''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertNrrdsIntoBundle|InsertNrrdsIntoBundle]]
:This module inserts a '''nrrd''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertPathsIntoBundle|InsertPathsIntoBundle]]
:This module inserts a '''path''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertStringsIntoBundle|InsertStringsIntoBundle]]
:This module inserts a '''string''' object into a bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinBundles|JoinBundles]]
:This module merges the contents of multiple bundles into one bundle.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportBundleInfo|ReportBundleInfo]]
:This module lists all the objects stored in a bundle.
==='''ChangeFieldData'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ApplyMappingMatrix|ApplyMappingMatrix]]
:Apply a mapping matrix to project the data from one field onto the mesh of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToField|CalculateDistanceToField]]
:Calculate the distance field to a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateDistanceToFieldBoundary|CalculateDistanceToFieldBoundary]]
:Calculate the distance field to a boundary of a given mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData|CalculateFieldData]]
:Calculate new data for the field given a function that uses field data, node location and element properties as input.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2|CalculateFieldData2]]
:Calculate new data for the field given a function that uses field data, node location and element properties as input, with a second input port for a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3|CalculateFieldData3]]
:Calculate new data for the field given a function that uses field data, node location and element properties as input, with a second and third input port for two additional fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled|CalculateFieldDataCompiled]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled2|CalculateFieldDataCompiled2]]
:Perform a specified functional transform to each pair of data elements in the two input fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldDataCompiled3|CalculateFieldDataCompiled3]]
:Perform a specified functional transform on all of the data in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateGradients|CalculateGradients]]
:Compute the derivative of a scalar field and output it as a vector field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateInsideWhichField|CalculateInsideWhichField]]
:Calculate inside which field of a number of given fields a certain element is located.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateIsInsideField|CalculateIsInsideField]]
:Calculate whether an element of one field is inside the domain of another field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateLatVolGradientsAtNodes|CalculateLatVolGradientsAtNodes]]
:Compute the derivative of a scalar lattice and output it as a vector lattice.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateNodeNormals|CalculateNodeNormals]]
:Make a new vector field that points to the input point.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateSignedDistanceToField|CalculateSignedDistanceToField]]
:Calculate the distance to a surface mesh and use the normal of the surface to determine on which side of the surface the element is located.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateVectorMagnitudes|CalculateVectorMagnitudes]]
:Computes the gradient of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldBasis|ConvertFieldBasis]]
:ConvertFieldBasis can modify the location of data in the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldDataType|ConvertFieldDataType]]
:ConvertFieldDataType is used to change the type of data associated with the field elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertIndicesToFieldData|ConvertIndicesToFieldData]]
:Convert a field with indices as data values into a field with values assigned to each index using a lookup table.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromElemToNode|ConvertLatVolDataFromElemToNode]]
:Make a new field with data at nodes instead of elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertLatVolDataFromNodeToElem|ConvertLatVolDataFromNodeToElem]]
:Make a new field with data at elements instead of nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateFieldData|CreateFieldData]]
:This module assigns a value to each element or node of the mesh based on a given function, that is based on the location of nodes and elements and properties of the elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromElemToNode|MapFieldDataFromElemToNode]]
:This module contains several filters for converting data that is stored in the elements to data that is stored in the nodes.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromNodeToElem|MapFieldDataFromNodeToElem]]
:This module contains several filters for converting data that is stored in the nodes to data that is stored in the elements.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataFromSourceToDestination|MapFieldDataFromSourceToDestination]]
:The MapFieldDataFromSourceToDestination module takes two Fields as input, the first of which, Source, contains geometry and data values; the second, Destination, contains geometry only. MapFieldDataFromSourceToDestination takes a field and finds data values for the destination geometry and outputs the resulting Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVol|MaskLatVol]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MaskLatVolWithTriSurf|MaskLatVolWithTriSurf]]
:Convert a LatVolField into a MaskedLatVolField and apply the given function to mask it out.
;[[CICB:Documentation:SCIRun:Reference:SCIRun:SelectAndSetFieldData|SelectAndSetFieldData]]
:This module selects a function based on the input values of the field and then applies this function to assign a new value to the field.
;[[CICB:Documentation:SCIRun:Reference:SCIRun:SelectAndSetFieldData2|SelectAndSetFieldData2]]
:This module selects a function based on the input values of the field and then applies this function to assign a new value to the field. This module contains one additional field port to be used for selecting and setting data values.
;[[CICB:Documentation:SCIRun:Reference:SCIRun:SelectAndSetFieldData3|SelectAndSetFieldData3]]
:This module selects a function based on the input values of the field and then applies this function to assign a new value to the field. This module contains two additional field ports to be used for selecting and setting data values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMeshQualityMeasures|ReportMeshQualityMeasures]]
:Report the quality of the elements of the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapFieldDataWithMatrixEntries|SwapFieldDataWithMatrixEntries]]
:Add and remove data from a field.
==='''ChangeMesh'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertHexVolToTetVol|ConvertHexVolToTetVol]]
:Convert a HexVolField into a TetVolField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMLVtoHV|ConvertMLVtoHV]]
:Convert a LatVolField to a HexVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshCoordinateSystem|ConvertMeshCoordinateSystem]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToPointCloud|ConvertMeshToPointCloud]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMeshToUnstructuredMesh|ConvertMeshToUnstructuredMesh]]
:Convert a structured field into an unstructured field for editing.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertQuadSurfToTriSurf|ConvertQuadSurfToTriSurf]]
:Convert a QuadSurfField into a TriSurfField.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertRasterMeshToStructuredMesh|ConvertRasterMeshToStructuredMesh]]
:Convert a regular lattice field into an structured field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertTVtoMLV|ConvertTVtoMLV]]
:Convert a TetVolField to a MaskedLatVolField
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EditMeshBoundingBox|EditMeshBoundingBox]]
:EditMeshBoundingBox is used to transform the field geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MapFieldDataToNodeCoordinate|MapFieldDataToNodeCoordinate]]
:Replace a mesh coordinate with the scalar fdata values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SmoothMesh|SmoothMesh]]
:Nodal movement to improve mesh quality.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SwapNodeLocationsWithMatrixEntries|SwapNodeLocationsWithMatrixEntries]]
:Extract and change the positions of the nodes in a mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithFunction|TransformMeshWithFunction]]
:Perform a specified functional transform on all of the points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformMeshWithTransform|TransformMeshWithTransform]]
:Non-interactive geometric transform of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TransformPlanarMesh|TransformPlanarMesh]]
:Non-interactive geometric transform of a field.
==='''DataIO'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadBundle|ReadBundle]]
:This module reads a '''bundle''' from file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap|ReadColorMap]]
:This module reads a '''colormap''' from file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadColorMap2|ReadColorMap2]]
:This module reads a '''colormap2D''' from file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadField|ReadField]]
:This module reads a '''field''' from file (a SCIRun ''.fld'' file and various other formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadMatrix|ReadMatrix]]
:This module reads a '''matrix''' from file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadPath|ReadPath]]
:This module reads a '''camera path''' from file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReadString|ReadString]]
:This module reads a '''string''' from file (an ASCII text file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteBundle|WriteBundle]]
:This module writes a '''bundle''' to file (a SCIRun ''.bdl'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap|WriteColorMap]]
:This module writes a '''colormap''' to file (a SCIRun ''.cmap'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteColorMap2|WriteColorMap2]]
:This module writes a '''colormap2D''' to file (a SCIRun ''.cmap2'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteField|WriteField]]
:This module writes a '''field''' to file (a SCIRun ''.fld'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteMatrix|WriteMatrix]]
:This module writes a '''matrix''' to file (a SCIRun ''.mat'' file and various other file formats using a plugin system).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WritePath|WritePath]]
:This module writes a '''camera path''' to file (a SCIRun ''.path'' file).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:WriteString|WriteString]]
:This module writes a '''string''' to file (an ASCII text file).
==='''Examples'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputField|GetInputField]]
:Most basic example of Field Input in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetInputFieldAndSendAsOutput|GetInputFieldAndSendAsOutput]]
:Most basic example of Field Output in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintHelloWorldToScreen|PrintHelloWorldToScreen]]
:Most basic example SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldDataValues|SetFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValues|SetTetVolFieldDataValues]]
:Most basic example manipulating Field data in a SCIRun module.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetTetVolFieldDataValuesToZero|SetTetVolFieldDataValuesToZero]]
:Most basic example manipulating Field data in a SCIRun module.
==='''Math'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:AppendMatrix|CollectMatrices]]
:This module appends/replaces rows or columns of a matrix while looping through a network.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildNoiseColumnMatrix|BuildNoiseColumnMatrix]]
:Performs the unary matrix operation transpose.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseMatrix|ChooseMatrix]]
:ChooseMatrix takes in an arbitrary number of input matrices, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMappingMatrixToMaskVector|ConvertMappingMatrixToMaskVector]]
:Converts a Mapping Matrix to a Mask Vector
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMaskVectorToMappingMatrix|ConvertMaskVectorToMappingMatrix]]
:Converts a Mask Vector to a Mapping Matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatrixType|ConvertMatrixType]]
:Casts a matrix
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateGeometricTransform|CreateGeometricTransform]]
:Build a 4x4 geometric transformation matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateMatrix|CreateMatrix]]
:This module lets the user create a small dense matrix manually.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgBinary|EvaluateLinAlgBinary]]
:Performs one of a number of selectable matrix operations using the two input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgGeneral|EvaluateLinAlgGeneral]]
:Do some linear algebra on input matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:EvaluateLinAlgUnary|EvaluateLinAlgUnary]]
:Performs one of a number of selectable unary matrix operations to the input matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetColumnMatrixFromMatrix|GetColumnMatrixFromMatrix]]
:The GetColumnMatrixFromMatrix module allows users to select a single row or column from a matrix. The user can also select a range of rows or columns and send them to the output port one at a time. The GetColumnMatrixFromMatrix module has three input ports: Matrix, Weight Vector and Current Index, which may run concurrently or one at a time. This module allows the user to animate points on a mesh if computing a whole time series of results packaged within a row or column. As data propogates throughout the image, the Viewer window displays the animation of points on the mesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSubmatrix|GetSubmatrix]]
:Select a subset of a matrix.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportColumnMatrixMisfit|ReportColumnMatrixMisfit]]
:Compute and visualize error between two vectors.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportMatrixInfo|ReportMatrixInfo]]
:ReportMatrixInfo is used to view the attributes of matrices.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveLinearSystem|SolveLinearSystem]]
:The SolveLinearSystem module is used to solve the linear system Ax=b, where A is a given Matrix, b is a given right-hand-side vector, and the user wants to find the solution vector x.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SolveMinNormLeastSqSystem|SolveMinNormLeastSqSystem]]
:This module computes the minimal norm, least squared solution to a nx3 linear system.
==='''MiscField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMappingMatrix|BuildMappingMatrix]]
:Build a mapping matrix -- a matrix that says how to project the data from one field onto the data of a second field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildMatrixOfSurfaceNormals|BuildMatrixOfSurfaceNormals]]
:The BuildMatrixOfSurfaceNormals calculates area weighted normal Vectors per node.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:BuildPointCloudToLatVolMappingMatrix|BuildPointCloudToLatVolMappingMatrix]]
:Builds mapping matrix that projects data from a PointCloud to a LatVol
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseField|ChooseField]]
:ChooseField takes in an arbitrary number of input fields, and pass one of them downstream, based on the port index typed in the UI.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CoregisterPointClouds|CoregisterPointClouds]]
:CoregisterPointClouds the first three points of two PointCloudFields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldGeometryMeasures|ReportFieldGeometryMeasures]]
:Build a densematrix, where each row is a particular measure of the input Field (e.g. the x-values, or the element size).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportFieldInfo|ReportFieldInfo]]
:ReportFieldInfo is used to view the attributes of fields.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportScalarFieldStats|ReportScalarFieldStats]]
:Analyze data from a scalarfield.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportSearchGridInfo|ReportSearchGridInfo]]
:Output a LatVolField that matches the search grid of the input field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SelectFieldROIWithBoxWidget|SelectFieldROIWithBoxWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldOrMeshStringProperty|SetFieldOrMeshStringProperty]]
:Set a Property for a Field (or for its mesh).
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SetFieldProperty|SetFieldProperty]]
:Set a Property for a Field.
==='''NewField'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldByFunction|ClipFieldByFunction]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipFieldToFieldOrWidget|ClipFieldToFieldOrWidget]]
:Select a subset of a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipLatVolByIndicesOrWidget|ClipLatVolByIndicesOrWidget]]
:Select data from a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipRasterFieldByIndices|ClipRasterFieldByIndices]]
:The Field Sub Sample module sub samples a structured grid. It is posible to sub sample a particular region or sparsely sample the grid.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalue|ClipVolumeByIsovalue]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ClipVolumeByIsovalueWithRefinement|ClipVolumeByIsovalueWithRefinement]]
:Clip a scalar field to a specified isovalue.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertMatricesToMesh|ConvertMatricesToMesh]]
:Construct a mesh from raw matrix data.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateImage|CreateImage]]
:Make an ImageField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLatVol|CreateLatVol]]
:Make a LatVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStructHex|CreateStructHex]]
:Make a StructHexVolField that fits the source field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractPlanarSliceFromField|ExtractPlanarSliceFromField]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromField|GeneratePointSamplesFromField]]
:Place seed points in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GeneratePointSamplesFromFieldOrWidget|GeneratePointSamplesFromFieldOrWidget]]
:GeneratePointSamplesFromFieldOrWidget generates samples from any type of input field and outputs the samples as a PointCloudField field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateSinglePointProbeFromField|GenerateSinglePointProbeFromField]]
:GenerateSinglePointProbeFromField values in a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetCentroidsFromMesh|GetCentroidsFromMesh]]
:Computes a PointCloudField containing all of the element centers for a field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFieldBoundary|GetFieldBoundary]]
:The GetFieldBoundary module extracts a boundary surface from a volume field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetHexVolSheetBasedOnEdgeIndices|GetHexVolSheetBasedOnEdgeIndices]]
:Removes a layer of hexes corresponding to the input edge ids.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetSliceFromLatVol|GetSliceFromLatVol]]
:The Field Slicer module reduces the dimension of a topologically regular field by 1 dimension.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InsertHexVolSheetFromTriSurf|InsertHexVolSheetFromTriSurf]]
:Insert a layer of hexes corresponding to the input TriSurfMesh.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCamal|InterfaceWithCamal]]
:InterfaceWithCamal will create a 3D volumetric mesh of tets in the supplied boundary mesh
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithCubit|InterfaceWithCubit]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:InterfaceWithTetGen|InterfaceWithTetGen]]
:
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinFields|JoinFields]]
:JoinFields glues any number of input fields into one output field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeFields|MergeFields]]
:Insert the elements from a field into a TetVol or TriSurf field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:MergeTriSurfs|MergeTriSurfs]]
:Self intersect all the triangles in a trisurf with each other so that none overlap.
==='''Render'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditCameraPath|CreateAndEditCameraPath]]
:Interactive tool to edit and playback camera path in <modref text="SCIRun"text="Viewer"></modref>.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowAndEditCameraWidget|ShowAndEditCameraWidget]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SynchronizeGeometry|SynchronizeGeometry]]
:Create a barrier to synchronize a set of geometry streams.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewAndEditSlices|ViewAndEditSlices]]
:The ViewAndEditSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewGraph|ViewGraph]]
:Renders input Nx2 matrices in a 2D graph
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewScene|ViewScene]]
:The ViewScene displays interactive graphical output to the computer screen. Use the ViewScene to see a geometry, or spatial data. The ViewScene provides access to many simulation parameters and controls, thus, indirectly initiates new iterations of the simulation steps important to computational steering.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ViewSlices|ViewSlices]]
:The ViewSlices module displays orthogonal slices of a 3D Nrrd in a 2D OpenGL window.
==='''String'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateString|CreateString]]
:This module can be used to create a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GetFileName|GetFileName]]
:This Module gets a filename and stores it in a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:JoinStrings|JoinStrings]]
:This module merges multiple strings into one string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintMatrixIntoString|PrintMatrixIntoString]]
:This module does a sprintf with input matrices into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:PrintStringIntoString|PrintStringIntoString]]
:This module does a sprintf with input strings into a new string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ReportStringInfo|ReportStringInfo]]
:This module can be used to display the contents of a string.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:SplitFileName|SplitFileName]]
:This module splits a filename in: pathname, filename (base), and extension.
==='''Time'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:TimeControls|TimeControls]]
:Global time controls.
==='''Visualization'''===
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ChooseColorMap|ChooseColorMap]]
:ChooseColorMap takes in an arbitrary number of input colormaps, and passes one of them downstream, based on the port index typed in the UI. Input port specification is 0 based (ie: first port is 0, 2nd port is 1, etc.)
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertFieldsToTexture|ConvertFieldsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ConvertNrrdsToTexture|ConvertNrrdsToTexture]]
:This module builds a 3D Texture for use with an OpenGL volume renderer.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap|CreateAndEditColorMap]]
:Modify and create custom SCIRun ColorMaps.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateAndEditColorMap2D|CreateAndEditColorMap2D]]
:CreateAndEditColorMap2D is used for interactively creating and editing ColorMap2 transfer functions for use in volume visualization.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateLightForViewer|CreateLightForViewer]]
:?
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateStandardColorMaps|CreateStandardColorMaps]]
:A module that generates fixed Colormaps for visualization tools.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerAxes|CreateViewerAxes]]
:Generates Axes Geometry for rendering graphs.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerCaption|CreateViewerCaption]]
:Generates a title for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:CreateViewerClockIcon|CreateViewerClockIcon]]
:Generates a clock for rendering animations.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ExtractIsosurface|ExtractIsosurface]]
:ExtractIsosurface extracts an isopotential surface from a scalar field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLines|GenerateStreamLines]]
:The GenerateStreamLines module visualizes vector fields by generating curves that interpolate the vector of vectors in a Field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:GenerateStreamLinesWithPlacementHeuristic|GenerateStreamLinesWithPlacementHeuristic]]
:Generate optimal stream lines
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:RescaleColorMap|RescaleColorMap]]
:RescaleColorMap allows the user to manually or automatically set the range of scalar values that map to the ColorMap. RescaleColorMap is an example of a module that has dynamic ports, because each time the user connects a Field module to the RescaleColorMap Field input port, another Field input port appears.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowColorMap|ShowColorMap]]
:Display a ColorMap with index values.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowField|ShowField]]
:The ShowField module visualizes the geometry that makes up a Mesh inside a Field. Where possible, the field takes its color from the Data values that permeate the field.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMatrix|ShowMatrix]]
:Display a matrix as geometry.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowMeshBoundingBox|ShowMeshBoundingBox]]
:The ShowMeshBoundingBox Module renders a semented red-green-blue 3D grid around an arbitrary field
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowString|ShowString]]
:This module puts the contents of a string in the viewer window.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureSlices|ShowTextureSlices]]
:This module is used to view slices of data using hardware 3D textures.
;[[CIBC:Documentation:SCIRun:Reference:SCIRun:ShowTextureVolume|ShowTextureVolume]]
:This module implements a volume renderer using 3D texture hardware.
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData3
0
1758
3900
1986
2006-12-12T19:08:20Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateFieldData3'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData3
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module calculates a new value for each value in the field data based on a user defined function. This function is based on a series of variables that is available for each data location. Once the function is defined, the module will walk through each data value and apply the function.
====Detailed Description====
====Overview====
This module allows the computation of a new scalar, vector or tensor value for each data location in the field. The user define function can depend on a number of variables that are defined for each location:
====Input variables====
'''DATA1''': This is the current value stored in the field (either on the element or the node location).
'''DATA2''': This is the value stored in the field on the second input port (either on the element or the node location).
'''DATA3''': This is the value stored in the field on the third input port (either on the element or the node location).
'''X,Y,Z''': Cartesian coordinates of the node or element from the first input field (center of the element)
'''POS''': Vector with cartesian coordinates of the node or element from the first input field.
'''A,B,C,...''': Input from additional matrix ports. The input matrix can have either 1 row or the same number of rows as there are values in the field. In case the matrix has one value this value is the same for each data location, in case it has multiple values the module iterates of the values in the same way it iterates over the data values of the field. The matrix input can have either 1 column, 3 columns, 6 or 9 columns. In case the matrix has 1 column values are assumed to be scalar values, in case the matrix has 3 columns it is assumed to contain vector values and in case it has either 6 or 9 columns it is assumed to be a tensor value (A 6 valued tensor is defined as xx, xy, xz, yy, yz, and zz).
'''INDEX''': The index number of the element or node.
'''SIZE''': The number of elements or nodes in the field. (Depending on the input field type)
'''ELEMENT''': Special access variable to access properties of the element. Currently only length, area, and volume are available to be called on this entity. In case one is iterating over the nodes, the node point is assumed to be the element, in case one is iterating of the elements, this variable is referring to the full element.
====Output variable====
'''RESULT''': The output needs to be stored in the variable RESULT.
====Available functions====
A list of available functions is available in the GUI of the module. Press on the button available functions to obtain a full overview of the current available functions to do Scalar/Vector/Tensor algebra and to view the functions that can be applied to the ELEMENT variable.
====Implementation====
The user defined function is currently being translated in a chunck of code that is compiled using the dynamic compiler, however the current plan is to replace the dynamic compiler with a simple parser. In the latter case not every C++ functionality will be available, and hence it is recommended to stay within the functions defined in the help of the module.
====Input ports====
The first input is the field whose data needs to be recalculated using a function. The second port is an optional port that allows the user to script the module with a user defined input function. This function will override the function given in the GUI of the module. The third and next ports are used to import a matrix. The first port corresponds to matrix A, the next to matrix B and so on. These ports can be used to do algebra with values stored as a matrix or can be used to enter scriptable scalar/vector/tensor values that can be defined elsewhere.
====Output port====
The module has one output port that has the newly defined values.
====Output data type====
As the function is parsed using the compiler, the output type cannot be guessed by the module, hence it needs to be set by the user to the correct data type.
----
===Frequently Asked Questions===
;The module shows up an error dialoge with code, what now?
:This normally happens when the code in the module cannopt be parsed by the compiler. Check whether the algebra makes sense and whether the output type is correct. As the module does not parse the expressions, it does not know whether the output needs to be scalar, vector, or tensor. The user has to specify the correct output format currently. A second cause of the compiler not being able to compile the code is a typo in the expression or a missing semicolon at the end of the expression.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRuun]]
CIBC:Documentation:SCIRun:Reference:SCIRun:CalculateFieldData2
0
1757
3899
1987
2006-12-12T19:08:46Z
Jeroen
19
wikitext
text/x-wiki
=='''CalculateFieldData2'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRun]]
:Catagory: ChangeFieldData2
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
This module calculates a new value for each value in the field data based on a user defined function. This function is based on a series of variables that is available for each data location. Once the function is defined, the module will walk through each data value and apply the function.
====Detailed Description====
====Overview====
This module allows the computation of a new scalar, vector or tensor value for each data location in the field. The user define function can depend on a number of variables that are defined for each location:
====Input variables====
'''DATA1''': This is the current value stored in the field (either on the element or the node location).
'''DATA2''': This is the value stored in the field on the second input port (either on the element or the node location).
'''X,Y,Z''': Cartesian coordinates of the node or element from the first input field (center of the element)
'''POS''': Vector with cartesian coordinates of the node or element from the first input field.
'''A,B,C,...''': Input from additional matrix ports. The input matrix can have either 1 row or the same number of rows as there are values in the field. In case the matrix has one value this value is the same for each data location, in case it has multiple values the module iterates of the values in the same way it iterates over the data values of the field. The matrix input can have either 1 column, 3 columns, 6 or 9 columns. In case the matrix has 1 column values are assumed to be scalar values, in case the matrix has 3 columns it is assumed to contain vector values and in case it has either 6 or 9 columns it is assumed to be a tensor value (A 6 valued tensor is defined as xx, xy, xz, yy, yz, and zz).
'''INDEX''': The index number of the element or node.
'''SIZE''': The number of elements or nodes in the field. (Depending on the input field type)
'''ELEMENT''': Special access variable to access properties of the element. Currently only length, area, and volume are available to be called on this entity. In case one is iterating over the nodes, the node point is assumed to be the element, in case one is iterating of the elements, this variable is referring to the full element.
====Output variable====
'''RESULT''': The output needs to be stored in the variable RESULT.
====Available functions====
A list of available functions is available in the GUI of the module. Press on the button available functions to obtain a full overview of the current available functions to do Scalar/Vector/Tensor algebra and to view the functions that can be applied to the ELEMENT variable.
====Implementation====
The user defined function is currently being translated in a chunck of code that is compiled using the dynamic compiler, however the current plan is to replace the dynamic compiler with a simple parser. In the latter case not every C++ functionality will be available, and hence it is recommended to stay within the functions defined in the help of the module.
====Input ports====
The first input is the field whose data needs to be recalculated using a function. The second port is an optional port that allows the user to script the module with a user defined input function. This function will override the function given in the GUI of the module. The third and next ports are used to import a matrix. The first port corresponds to matrix A, the next to matrix B and so on. These ports can be used to do algebra with values stored as a matrix or can be used to enter scriptable scalar/vector/tensor values that can be defined elsewhere.
====Output port====
The module has one output port that has the newly defined values.
====Output data type====
As the function is parsed using the compiler, the output type cannot be guessed by the module, hence it needs to be set by the user to the correct data type.
----
===Frequently Asked Questions===
;The module shows up an error dialoge with code, what now?
:This normally happens when the code in the module cannopt be parsed by the compiler. Check whether the algebra makes sense and whether the output type is correct. As the module does not parse the expressions, it does not know whether the output needs to be scalar, vector, or tensor. The user has to specify the correct output format currently. A second cause of the compiler not being able to compile the code is a typo in the expression or a missing semicolon at the end of the expression.
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:SCIRun|SCIRuun]]
Ubuntu Prerequisites (Packages to Install)
0
1786
3929
2042
2006-12-13T22:31:00Z
McKayDavis
45
wikitext
text/x-wiki
Ubuntu comes with a relatively minimal install and several packages may be required. It is easy to get the necessary packages listed below via the Synaptic package manager.
Many packages are part of the initial basic install, but make sure these are installed before preceding: x-libs, xlibs-dev, flex, bison, subversion, smp kernel, libxaw, libxaw-dev, lapack, blas, g77, gcc,g++, make, cmake
File:FieldReaderMenu.gif
6
1798
3930
2006-12-13T22:59:08Z
Blackham
44
wikitext
text/x-wiki
File:FieldReaderGui.gif
6
1799
3941
2006-12-13T23:08:19Z
Blackham
44
wikitext
text/x-wiki
File:FRtoSFconnect.gif
6
1800
3942
2006-12-13T23:24:05Z
Blackham
44
wikitext
text/x-wiki
File:FRtoSFdone.gif
6
1801
3943
2006-12-13T23:24:16Z
Blackham
44
wikitext
text/x-wiki
Current events
0
994
3132
2059
2006-12-15T18:08:08Z
Erikj
2
wikitext
text/x-wiki
File:SF Gui.gif
6
1802
3944
2006-12-15T22:49:00Z
Blackham
44
wikitext
text/x-wiki
File:Viewer.gif
6
1803
3945
2006-12-15T22:50:33Z
Blackham
44
wikitext
text/x-wiki
File:1 10 2.gif
6
1804
3946
2006-12-15T22:53:25Z
Blackham
44
wikitext
text/x-wiki
File:ViewerSettings.gif
6
1805
3947
2006-12-15T22:53:40Z
Blackham
44
wikitext
text/x-wiki
File:1 11.gif
6
1806
3948
2006-12-15T22:55:04Z
Blackham
44
wikitext
text/x-wiki
File:1 12.gif
6
1807
3949
2006-12-15T22:55:17Z
Blackham
44
wikitext
text/x-wiki
Main Page
0
1
2084
2080
2006-12-21T17:10:51Z
Jeroen
19
/* Documentation Portal */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
The release Seg3D is near.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Documentation Portal===
The SCIRun documentation has been moved to the following site:
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation SCIRun Documentation]
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
2085
2084
2006-12-23T00:15:07Z
McKayDavis
45
/* Seg3D */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with version SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Documentation Portal===
The SCIRun documentation has been moved to the following site:
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation SCIRun Documentation]
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
2086
2085
2006-12-23T00:15:26Z
McKayDavis
45
/* Seg3D */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Documentation Portal===
The SCIRun documentation has been moved to the following site:
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation SCIRun Documentation]
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
2093
2086
2007-01-03T22:16:20Z
Jeroen
19
/* Documentation Portal */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:WindowsPort | Windows Port of SCIRun ]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
2095
2093
2007-01-17T20:20:49Z
Dav
18
Removed windows install pointer (pointed to old info).
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[[CIBC:Project:svn | Building the CIBC branch]]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
2096
2095
2007-01-17T20:28:10Z
Dav
18
Changed pointer to new SCIRun Developer Docs.
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Developer Information]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
2123
2096
2007-01-17T20:33:27Z
Dav
18
removed extra line
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Developer Information]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
CIBC:Documentation
0
1092
2082
2081
2006-12-21T17:13:55Z
Jeroen
19
wikitext
text/x-wiki
#redirect [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation SCIRun Documentation]
3228
2082
2006-12-21T17:20:44Z
Jeroen
19
wikitext
text/x-wiki
'''This page has been moved to a new wiki, please click on the link below to access the new CIBC documentation Wiki:'''
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation SCIRun Documentation]
CIBC:Documentation:SCIRun
0
1087
3224
2083
2006-12-21T17:25:30Z
Jeroen
19
wikitext
text/x-wiki
'''This page has been moved to a new wiki, please click on the link below to access the new CIBC documentation Wiki:'''
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun Documentation]
File:Matlab bundle1.png
6
1808
3837
2007-01-11T23:30:46Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab bundle2.png
6
1809
3838
2007-01-11T23:34:57Z
Dbrayford
43
wikitext
text/x-wiki
CIBC:Project:Matlab
0
1076
2088
2087
2007-01-11T23:51:57Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:Matlab2SCIRun.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules. See Figures 11 & 12.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is passed to the InterfaceWithMatlabViaBundles module.
[[Image:Matlab_bundle2.png]]
Figure 12
2089
2088
2007-01-12T00:01:44Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:Matlab2SCIRun.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is passed to the InterfaceWithMatlabViaBundles module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle is then used to execute some Matlab function.
[[Image:Matlab_bundle2.png]]
Figure 12
2090
2089
2007-01-12T00:08:51Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:Matlab2SCIRun.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is passed to the InterfaceWithMatlabViaBundles module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' is then used to execute some Matlab function (see above examples).
[[Image:Matlab_bundle2.png]]
Figure 12
2091
2090
2007-01-12T18:41:48Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:Matlab2SCIRun.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is passed to the InterfaceWithMatlabViaBundles module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code is loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
[[Image:Matlab_bundle2.png]]
Figure 12
2097
2091
2007-01-12T23:44:50Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:Matlab2SCIRun.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
2098
2097
2007-01-19T20:53:49Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:Matlab2SCIRun.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within bundle2 is convertered to the SCIRun nrrd datatype by changing the output type tab associated with the bundle2 output port from '''prefer matrices''' to '''prefer nrrds'''
2099
2098
2007-01-19T23:06:06Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:Matlab2SCIRun.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within bundle2 is convertered to the SCIRun nrrd datatype by changing the output type tab associated with the output port '''bundle2''' from '''prefer matrices''' to '''prefer nrrds'''.
2100
2099
2007-01-19T23:17:21Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:Matlab2SCIRun.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab associated with the output port '''bundle2''' from '''prefer matrices''' to '''prefer nrrds'''.
2101
2100
2007-01-19T23:39:42Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:Matlab2SCIRun.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
2102
2101
2007-01-20T00:16:21Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and the SCIRun application is built with the MatlabInterface enabled during the configuration stage.
For example,
'''../src/configure --with-thirdparty=path/to/thirdparty --enable-package=”BioPSE MatlabInterface”'''
If not reconfigure and rebuild the SCIRun application as shown above.
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:Matlab2SCIRun.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
2103
2102
2007-01-22T19:42:31Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and cmake. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the DataIO tab and then click on the Matlab tab. This will then create a module widget within the main SCIRun application window. On the Matlab widget module click on the UI (user interface) tab, which opens the Matlab interface GUI see Figure 1.
[[Image:Matlab01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:Matlab02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:Matlab03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:MatlabDataReader01.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:MatlabReader02.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:Autoload01.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:Autoload02.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:Parameter_pass01.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:Parameter_pass02.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:Matlab2SCIRun.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
File:Matlab bundle3.png
6
1810
3225
2007-01-12T21:00:07Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab bundle convert.png
6
1811
3226
2007-01-12T22:33:40Z
Dbrayford
43
wikitext
text/x-wiki
User:BGordillo
2
1812
3939
2007-01-17T00:49:27Z
Erikj
2
wikitext
text/x-wiki
I am professor of organic chemistry with interest in biomedical field. I am interested in research related on porphyrins as sensitizers in PDT therapy.
CIBC:Project:WindowsPort
0
1035
3171
2092
2007-01-17T20:19:57Z
Dav
18
Deprecated page.
wikitext
text/x-wiki
I believe the instructions that used to be on this page are invalid. (You can find them in the history tab if you really need them.)
CIBC:Project:svn
0
1067
3200
2094
2007-01-17T20:24:29Z
Dav
18
Deprecated page.
wikitext
text/x-wiki
This information is out of date. Please see the new docs: http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page.
File:Matlab bundle4.png
6
1813
3221
2007-01-19T18:42:28Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab figure01.png
6
1814
3950
2007-01-23T16:36:42Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab figure02.png
6
1815
3951
2007-01-23T16:38:20Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab figure03.png
6
1816
3952
2007-01-23T16:40:12Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab figure04.png
6
1817
3953
2007-01-23T16:40:54Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab figure05.png
6
1818
3954
2007-01-23T16:41:49Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab figure06.png
6
1819
3955
2007-01-23T16:42:31Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab figure07.png
6
1820
3956
2007-01-23T16:43:20Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab figure08.png
6
1821
3957
2007-01-23T16:44:04Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab figure09.png
6
1822
3958
2007-01-23T16:45:20Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab figure10.png
6
1823
3959
2007-01-23T16:46:05Z
Dbrayford
43
wikitext
text/x-wiki
CIBC:Project:Matlab
0
1076
2104
2103
2007-01-23T17:06:33Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and cmake. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module widget within the main SCIRun application window. On the InterfaceWithMatlab widget module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the Matlab interface GUI, which opens up a directory structure GUI interface that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main Matlab interface GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', , which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
2105
2104
2007-01-23T17:36:27Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and cmake. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module widget within the main SCIRun application window. On the InterfaceWithMatlab widget module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the MatlabDataReader tab. This will create a module widget within the main SCIRun application window. On The MatlabDataReader widget module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the Matlab interface module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from an interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within an interface module that are subsequently passed to the Matlab module using the string input and output ports.
The MultiPhaseCVInterface module is a user defined module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
2106
2105
2007-01-23T18:57:20Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and cmake. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module widget within the main SCIRun application window. On the InterfaceWithMatlab widget module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module widget within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
2107
2106
2007-01-23T19:02:01Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and cmake. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the Matlab interface Module within SCIRun?
The ability to pass a series of parameters to a Matlab function within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the third output string contains the parameters to the function.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours'''
'''string 3 value is : 'Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
2108
2107
2007-01-23T19:13:06Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and cmake. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by three string output ports see Figure 8. Where the first output string contains the absolute filename, the second output string contains the function name and the parameters that are executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 100, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the Matlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''com = [string2 '(' string3 ');'];''' The function name and parameters are combined to produce a string of the form '''function(parameter1, parameter2, ...)''', and
'''eval(com);''' evalutes the combined function and parameter string using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
2109
2108
2007-01-23T19:33:43Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and cmake. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into string2 contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in string2 using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within an interface module, which are then passed to the Matlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun.
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
2110
2109
2007-01-23T21:05:22Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and cmake. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the
10)How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
2111
2110
2007-01-24T16:38:14Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and cmake. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two string are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the Matlab code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun Matlab module using the command
'''sample_matrix = load('/scratch/ActiveContours/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
2112
2111
2007-01-24T17:21:12Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and cmake. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The Matlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which is the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''' where output_image contains the path and name of the image file (/path/to/file.extension). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
2113
2112
2007-01-24T18:05:50Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to Matlab and cmake. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
2114
2113
2007-01-24T18:07:48Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
2115
2114
2007-01-30T23:43:56Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module via the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different datatype for additional processing and subsequent visualization within SCIRun. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module attached to the '''GetNrrdsFromBundle''' module, which extracts the nrrd image from within a bundle.
2116
2115
2007-01-31T00:09:50Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module via the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different SCIRun datatype for additional processing and subsequent visualization. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module, which is attached to the '''GetNrrdsFromBundle''' module.
[[Image:Figure16.png]]
Figure 16
To ensure that the correct nrrd image is extracted from the bundle, click the UI button on the GetNrrdsFromBundle module, which launches the GUI shown at the top right of Figure 16 appears. Then select the appropriate image (image1) so that appears in the top text box.
2118
2116
2007-01-31T00:16:29Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module via the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different SCIRun datatype for additional processing and subsequent visualization. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module, which is attached to the '''GetNrrdsFromBundle''' module.
To ensure that the correct nrrd image is extracted from the bundle using the GetNrrdsFromBundle module and passed onto the ConvertNrrdToField module. Open the GUI shown at the top right of Figure 16 appears, then select the appropriate image (image1) so that appears in the top text box.
[[Image:Figure16.png]]
Figure 16
2119
2118
2007-01-31T18:59:14Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module to the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different SCIRun datatype for additional processing and subsequent visualization. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module, which is attached to the '''GetNrrdsFromBundle''' module.
To ensure that the correct nrrd image is extracted from the bundle using the '''GetNrrdsFromBundle''' module and passed onto the '''ConvertNrrdToField module'''. Open the GUI shown at the top right of Figure 16 appears, then select the appropriate image (image1) so that appears in the top text box.
[[Image:Figure16.png]]
Figure 16
Once the nrrd image has been converted into a field datatype using the '''ConvertNrrdToField''' module. It is possible to extract information about the convert field datatype by attaching the '''ReportFieldInfo''' module to the '''ConvertNrrdToField''' module and clicking on the UI button. That launches a GUI (see bottom of Figure 16), which enables the user to verify the structure and type of data stored within the field.
2120
2119
2007-01-31T23:15:43Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module to the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different SCIRun datatype for additional processing and subsequent visualization. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module, which is attached to the '''GetNrrdsFromBundle''' module.
To ensure that the correct nrrd image is extracted from the bundle using the '''GetNrrdsFromBundle''' module and passed onto the '''ConvertNrrdToField module'''. Open the GUI shown at the top right of Figure 16 appears, then select the appropriate image (image1) so that appears in the top text box.
[[Image:Figure16.png]]
Figure 16
Once the nrrd image has been converted into a field datatype using the '''ConvertNrrdToField''' module. It is possible to extract information about the convert field datatype by attaching the '''ReportFieldInfo''' module to the '''ConvertNrrdToField''' module and clicking on the UI button. That launches a GUI (see bottom of Figure 16), which enables the user to verify the structure and type of data stored within the field.
14) Visualization of the nrrd image.
[[Image:Figure17.png]]
Figure 17
2121
2120
2007-02-01T00:08:19Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module to the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different SCIRun datatype for additional processing and subsequent visualization. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module, which is attached to the '''GetNrrdsFromBundle''' module.
To ensure that the correct nrrd image is extracted from the bundle using the '''GetNrrdsFromBundle''' module and passed onto the '''ConvertNrrdToField module'''. Open the GUI shown at the top right of Figure 16 appears, then select the appropriate image (image1) so that appears in the top text box.
[[Image:Figure16.png]]
Figure 16
Once the nrrd image has been converted into a field datatype using the '''ConvertNrrdToField''' module. It is possible to extract information about the convert field datatype by attaching the '''ReportFieldInfo''' module to the '''ConvertNrrdToField''' module and clicking on the UI button. That launches a GUI (see bottom of Figure 16), which enables the user to verify the structure and type of data stored within the field.
14) Visualization of the nrrd image.
It is possible to visualize the image generated by the matlab program within SCI.
[[Image:Figure17.png]]
Figure 17
2122
2121
2007-02-02T18:49:31Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module to the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different SCIRun datatype for additional processing and subsequent visualization. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module, which is attached to the '''GetNrrdsFromBundle''' module.
To ensure that the correct nrrd image is extracted from the bundle using the '''GetNrrdsFromBundle''' module and passed onto the '''ConvertNrrdToField module'''. Open the GUI shown at the top right of Figure 16 appears, then select the appropriate image (image1) so that appears in the top text box.
[[Image:Figure16.png]]
Figure 16
Once the nrrd image has been converted into a field datatype using the '''ConvertNrrdToField''' module. It is possible to extract information about the convert field datatype by attaching the '''ReportFieldInfo''' module to the '''ConvertNrrdToField''' module and clicking on the UI button. That launches a GUI (see bottom of Figure 16), which enables the user to verify the structure and type of data stored within the field.
14) Visualization of the nrrd image.
It is possible to visualize the image generated by the matlab program within SCI.
[[Image:Figure17.png]]
Figure 17
In Figure 17 the SCIRun dataflow network from Figure 16 was modified to remove the '''ConvertNrrdToField''' and '''ReportFieldInfo''' modules. While incorporating the '''ViewSlices''' module, which is attached to the '''GetNrrdsFromBundle''' module. It is now possible to display the image created by the Matlab program within the SCIRun software environment by launching the '''ViewSlices''' GUI (See Figure 17).
2124
2122
2007-02-02T20:01:32Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module to the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different SCIRun datatype for additional processing and subsequent visualization. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module, which is attached to the '''GetNrrdsFromBundle''' module.
To ensure that the correct nrrd image is extracted from the bundle using the '''GetNrrdsFromBundle''' module and passed onto the '''ConvertNrrdToField module'''. Open the GUI shown at the top right of Figure 16 appears, then select the appropriate image (image1) so that appears in the top text box.
[[Image:Figure16.png]]
Figure 16
Once the nrrd image has been converted into a field datatype using the '''ConvertNrrdToField''' module. It is possible to extract information about the convert field datatype by attaching the '''ReportFieldInfo''' module to the '''ConvertNrrdToField''' module and clicking on the UI button. That launches a GUI (see bottom of Figure 16), which enables the user to verify the structure and type of data stored within the field.
14) Visualization of the nrrd image.
It is possible to visualize the image generated by the matlab program within SCI.
[[Image:Figure17.png]]
Figure 17
In Figure 17 the SCIRun dataflow network from Figure 16 was modified to remove the '''ConvertNrrdToField''' and '''ReportFieldInfo''' modules. While incorporating the '''ViewSlices''' module, which is attached to the '''GetNrrdsFromBundle''' module. It is now possible to display the image created by the Matlab program within the SCIRun software environment by launching the '''ViewSlices''' GUI (See Figure 17).
15) Extracting and modify data stored with the image.
Now that we are able to display the image data generated by the Matlab program. The next step is to enable the user to extract or modify data stored within the image displayed within SCIRun.
2125
2124
2007-02-13T22:35:31Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module to the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different SCIRun datatype for additional processing and subsequent visualization. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module, which is attached to the '''GetNrrdsFromBundle''' module.
To ensure that the correct nrrd image is extracted from the bundle using the '''GetNrrdsFromBundle''' module and passed onto the '''ConvertNrrdToField module'''. Open the GUI shown at the top right of Figure 16 appears, then select the appropriate image (image1) so that appears in the top text box.
[[Image:Figure16.png]]
Figure 16
Once the nrrd image has been converted into a field datatype using the '''ConvertNrrdToField''' module. It is possible to extract information about the convert field datatype by attaching the '''ReportFieldInfo''' module to the '''ConvertNrrdToField''' module and clicking on the UI button. That launches a GUI (see bottom of Figure 16), which enables the user to verify the structure and type of data stored within the field.
14) Visualization of the nrrd image.
It is possible to visualize the image generated by the matlab program within SCI.
[[Image:Figure17.png]]
Figure 17
In Figure 17 the SCIRun dataflow network from Figure 16 was modified to remove the '''ConvertNrrdToField''' and '''ReportFieldInfo''' modules. While incorporating the '''ViewSlices''' module, which is attached to the '''GetNrrdsFromBundle''' module. It is now possible to display the image created by the Matlab program within the SCIRun software environment by launching the '''ViewSlices''' GUI (See Figure 17).
15) Extracting and modify data stored with the image.
Now that we are able to display the image data generated by the Matlab program. The next step is to enable the user to extract or modify data stored within the image displayed within SCIRun.
Title and axis labels are important components of data visualization, which helps the user to obtain useful details from the visual representation of the data. This information can be extracted from the user defined parameters passed to the Matlab function via the InterfaceMultiPhaseCVWithMatlab module using the regular expression functionality available within Matlab. The next step is to incorporate the information extracted into a bundle, which is then passed to another SCIRun module (see Figure 18).
[[Image:Matlab_figure18.png]]
Figure 18
2126
2125
2007-02-13T23:44:51Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module to the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different SCIRun datatype for additional processing and subsequent visualization. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module, which is attached to the '''GetNrrdsFromBundle''' module.
To ensure that the correct nrrd image is extracted from the bundle using the '''GetNrrdsFromBundle''' module and passed onto the '''ConvertNrrdToField module'''. Open the GUI shown at the top right of Figure 16 appears, then select the appropriate image (image1) so that appears in the top text box.
[[Image:Figure16.png]]
Figure 16
Once the nrrd image has been converted into a field datatype using the '''ConvertNrrdToField''' module. It is possible to extract information about the convert field datatype by attaching the '''ReportFieldInfo''' module to the '''ConvertNrrdToField''' module and clicking on the UI button. That launches a GUI (see bottom of Figure 16), which enables the user to verify the structure and type of data stored within the field.
14) Visualization of the nrrd image.
It is possible to visualize the image generated by the matlab program within SCI.
[[Image:Figure17.png]]
Figure 17
In Figure 17 the SCIRun dataflow network from Figure 16 was modified to remove the '''ConvertNrrdToField''' and '''ReportFieldInfo''' modules. While incorporating the '''ViewSlices''' module, which is attached to the '''GetNrrdsFromBundle''' module. It is now possible to display the image created by the Matlab program within the SCIRun software environment by launching the '''ViewSlices''' GUI (See Figure 17).
15) Extracting and modify data stored with the image.
Now that we are able to display the image data generated by the Matlab program. The next step is to enable the user to extract or modify data stored within the image displayed within SCIRun.
Title and axis labels are important components of data visualization, which helps the user to obtain useful details from the visual representation of the data. This information can be extracted from the user defined parameters passed to the Matlab function via the InterfaceMultiPhaseCVWithMatlab module using the regular expression functionality available within Matlab. The next step is to incorporate the information extracted into a bundle, which is then passed to another SCIRun module (see Figure 18).
[[Image:Matlab_figure18.png]]
Figure 18
In Figure 18 a dataflow connection is made between the third bundle output port of the '''InterfaceWithMatlabViaBundles''' module and the '''GetStringsFromBundle''' module. The strings extracted from the bundle are then passed to the '''ShowString''' module. which are attached to the '''ViewScene''' module and combined with the processed image. The result of combining the string and image information can be seen in the view scene window at the top right corner of Figure 18.
2127
2126
2007-02-14T18:15:03Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module to the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different SCIRun datatype for additional processing and subsequent visualization. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module, which is attached to the '''GetNrrdsFromBundle''' module.
To ensure that the correct nrrd image is extracted from the bundle using the '''GetNrrdsFromBundle''' module and passed onto the '''ConvertNrrdToField module'''. Open the GUI shown at the top right of Figure 16 appears, then select the appropriate image (image1) so that appears in the top text box.
[[Image:Figure16.png]]
Figure 16
Once the nrrd image has been converted into a field datatype using the '''ConvertNrrdToField''' module. It is possible to extract information about the convert field datatype by attaching the '''ReportFieldInfo''' module to the '''ConvertNrrdToField''' module and clicking on the UI button. That launches a GUI (see bottom of Figure 16), which enables the user to verify the structure and type of data stored within the field.
14) Visualization of the nrrd image.
It is possible to visualize the image generated by the matlab program within SCI.
[[Image:Figure17.png]]
Figure 17
In Figure 17 the SCIRun dataflow network from Figure 16 was modified to remove the '''ConvertNrrdToField''' and '''ReportFieldInfo''' modules. While incorporating the '''ViewSlices''' module, which is attached to the '''GetNrrdsFromBundle''' module. It is now possible to display the image created by the Matlab program within the SCIRun software environment by launching the '''ViewSlices''' GUI (See Figure 17).
15) Extracting and modify data stored with the image.
Now that we are able to display the image data generated by the Matlab program. The next step is to enable the user to extract or modify data stored within the image displayed within SCIRun.
Title and axis labels are important components of data visualization, which helps the user to obtain useful details from the visual representation of the data. This information can be extracted from the user defined parameters passed to the Matlab function via the InterfaceMultiPhaseCVWithMatlab module using the regular expression functionality available within Matlab. The next step is to incorporate the information extracted into a bundle, which is then passed to another SCIRun module (see Figure 18).
[[Image:Matlab_figure18.png]]
Figure 18
In Figure 18 a dataflow connection is made between the third bundle output port of the '''InterfaceWithMatlabViaBundles''' module and the '''GetStringsFromBundle''' module. The strings extracted from the bundle are then passed to the '''ShowString''' module. which are attached to the '''ViewScene''' module and combined with the processed image. The result of combining the string and image information can be seen in the view scene window at the top right corner of Figure 18.
[[Image:Matlab_figure19.png]]
Figure 19
Figure 19 shows a simpler dataflow network than that depicted in Figure 18. In the '''GetStringFromBundle''' user interface window shows three string variables in the main text box, which are assigned to different output ports '''String1 = title''', '''String2 = method''' and '''String3 = timesteps'''. These string variable where incorporated into a bundle within the '''InterfaceWithMatlabViaBundles''' module using the commands within the Matlab code window:
'''bundle3.title = title;'''
'''bundle3.method = method;'''
'''bundle3.timesteps = timesteps;'''
To verify that the string variables passed from the '''InterfaceWithMatlabViaBundles''' contain the correct data. The '''ReportStringInfo''' module was attached to the output port of the '''GetStringFromBundle''' module, which displays the string value within the user interface window (see the top of Figure 19). Now that we have verified that the strings are correct we can incorporate the string information within the visualization by attaching the output ports from the '''GetStringsFromBundle''' modules to the input port of the '''ShowString''' modules. The position of the strings can be modified within the '''ShowString''' modules and then combined with the image by connecting the '''ShowString''' modules to the '''ViewScene''' module as illustrated in Figure 18.
2128
2127
2007-02-25T20:52:07Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
Although the output bundle tabs on the user interface only show prefer nrrds and prefer matrices. The '''InterfaceWithMatlabViaBundles''' module can implicitly export fields, strings, nrrds and matrices within a bundle.
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module to the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different SCIRun datatype for additional processing and subsequent visualization. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module, which is attached to the '''GetNrrdsFromBundle''' module.
To ensure that the correct nrrd image is extracted from the bundle using the '''GetNrrdsFromBundle''' module and passed onto the '''ConvertNrrdToField module'''. Open the GUI shown at the top right of Figure 16 appears, then select the appropriate image (image1) so that appears in the top text box.
[[Image:Figure16.png]]
Figure 16
Once the nrrd image has been converted into a field datatype using the '''ConvertNrrdToField''' module. It is possible to extract information about the convert field datatype by attaching the '''ReportFieldInfo''' module to the '''ConvertNrrdToField''' module and clicking on the UI button. That launches a GUI (see bottom of Figure 16), which enables the user to verify the structure and type of data stored within the field.
14) Visualization of the nrrd image.
It is possible to visualize the image generated by the matlab program within SCI.
[[Image:Figure17.png]]
Figure 17
In Figure 17 the SCIRun dataflow network from Figure 16 was modified to remove the '''ConvertNrrdToField''' and '''ReportFieldInfo''' modules. While incorporating the '''ViewSlices''' module, which is attached to the '''GetNrrdsFromBundle''' module. It is now possible to display the image created by the Matlab program within the SCIRun software environment by launching the '''ViewSlices''' GUI (See Figure 17).
15) Extracting and modify data stored with the image.
Now that we are able to display the image data generated by the Matlab program. The next step is to enable the user to extract or modify data stored within the image displayed within SCIRun.
Title and axis labels are important components of data visualization, which helps the user to obtain useful details from the visual representation of the data. This information can be extracted from the user defined parameters passed to the Matlab function via the InterfaceMultiPhaseCVWithMatlab module using the regular expression functionality available within Matlab. The next step is to incorporate the information extracted into a bundle, which is then passed to another SCIRun module (see Figure 18).
[[Image:Matlab_figure18.png]]
Figure 18
In Figure 18 a dataflow connection is made between the third bundle output port of the '''InterfaceWithMatlabViaBundles''' module and the '''GetStringsFromBundle''' module. The strings extracted from the bundle are then passed to the '''ShowString''' module. which are attached to the '''ViewScene''' module and combined with the processed image. The result of combining the string and image information can be seen in the view scene window at the top right corner of Figure 18.
[[Image:Matlab_figure19.png]]
Figure 19
Figure 19 shows a simpler dataflow network than that depicted in Figure 18. In the '''GetStringFromBundle''' user interface window shows three string variables in the main text box, which are assigned to different output ports '''String1 = title''', '''String2 = method''' and '''String3 = timesteps'''. These string variable where incorporated into a bundle within the '''InterfaceWithMatlabViaBundles''' module using the commands within the Matlab code window:
'''bundle3.title = title;'''
'''bundle3.method = method;'''
'''bundle3.timesteps = timesteps;'''
To verify that the string variables passed from the '''InterfaceWithMatlabViaBundles''' contain the correct data. The '''ReportStringInfo''' module was attached to the output port of the '''GetStringFromBundle''' module, which displays the string value within the user interface window (see the top of Figure 19). Now that we have verified that the strings are correct we can incorporate the string information within the visualization by attaching the output ports from the '''GetStringsFromBundle''' modules to the input port of the '''ShowString''' modules. The position of the strings can be modified within the '''ShowString''' modules and then combined with the image by connecting the '''ShowString''' modules to the '''ViewScene''' module as illustrated in Figure 18.
3212
2128
2007-02-25T21:03:33Z
Dbrayford
43
wikitext
text/x-wiki
1) How to load Matlab Code into SCIRun?
First ensure that your system has access to '''Matlab''' and '''cmake'''. To built SCIRun with the MatlabInterface enabled. In the configuration stage ensure that the cmake variable '''LOAD_PACKAGE = SCIRun,BioPSE,Teem,MatlabInterface''' using ccmake.
For example,
'''cd /path/to/SCIRun/bin'''
'''ccmake /path/to/SCIRun/src'''
For ASCII Matlab files with the extension .m do the following.
Start a SCIRun application.
Move the mouse pointer on the title bar and left click on the MatlabInterface tab. This should open up an option box directly below, click on the Interface tab and then click on the InterfaceWithMatlab tab. This will then create a module within the main SCIRun application window. On the InterfaceWithMatlab module click on the UI (user interface) tab, which opens the InterfaceWithMatlab GUI see Figure 1.
[[Image:matlab_figure01.png]]
Figure 1
To load a particular Matlab .m file left click on the load tab found at the bottom left of the InterfaceWithMatlab module GUI, which opens up a directory structure GUI that enables the user to traverse the directory structure to find the required Matlab file see Figure 2.
[[Image:matlab_figure02.png]]
Figure 2
Once the required Matlab .m file is selected the code appears within the main InterfaceWithMatlab GUI window as illustrated in Figure 3.
[[Image:matlab_figure03.png]]
Figure 3
For binary Matlab files with the extension .mat do the following.
Move the mouse pointer onto the title bar and left click on the Matlabinterface tab. This opens up an option box directly below, click on the DataIO tab and then click on the ImportDatatypesFromMatlab tab. This will create a module within the main SCIRun application window. On The ImportDatatypesFromMatlab module click on the UI tab, which opens a GUI. Then click on the browse tab to find the required Matlab .mat file as illustrated in Figure 4.
[[Image:matlab_figure04.png]]
Figure 4
2) How to execute and visualize Matlab code within SCIRun?
To execute and visualize Matlab code within SCIRun you first must connect a network of modules that load, process the Matlab data from the file and then visualize the results. Figure 5 illustrates a simple SCIRun module network that perform these tasks.
[[Image:matlab_figure05.png]]
Figure 5
3) How to automatically load a Matlab file within the InterfaceWithMatlab module?
There are several ways to automatically load a Matlab file into SCIRun.
One method involves inserting the path to the desired file using addpath and then the name of the function into the main text box as shown in Figure 6
[[Image:matlab_figure06.png]]
Figure 6
Another method involves passing the data as a string from a user defined interface module as illustrated in Figure 7. The data passed into string1 contains the absolute filename. For example, '''/path/to/filename.extension''', which is then subdivided into pathname and filename using '''[pn,fn]=fileparts(string1)''' and using a similar approach as described above the path is added using '''addpath'''. The data passed into '''string2''' contains the function name and is called using '''eval''' or some derivative of eval. For example, '''eval(string2)'''.
[[Image:matlab_figure07.png]]
Figure 7
4) How to pass a function and parameters to the InterfaceWithMatlab Module within SCIRun?
The ability to pass a series of parameters to Matlab from within SCIRun is essential.
The example that is given here involves setting the parameters within a user defined SCIRun module that are subsequently passed to the InterfaceWithMatlab module using the string input and output ports.
The InterfaceMultiPhaseCVWithMatlab module is a user defined SCIRun module that enable the setting of parameters for the a particular Matlab code that are exported by two string output ports see Figure 8. Where the first output string contains the absolute filename, and the second output string contains the function name and parameters that are to be executed by Matlab.
For example,
'''string 1 value is : /scratch/ActiveContours/ActiveContours.m'''
'''string 2 value is : ActiveContours('Explicit', 'Grad', 'a1', 'a1_explicit_grad.avi', 0.1 * 255 * 255, 0, 1, 1, 160, 0, 10)'''
[[Image:matlab_figure08.png]]
Figure 8
The next step involves inserting Matlab code into the main window to interprete the input strings and executing the code within the InterfaceWithMatlab module See Figure 9.
[[Image:matlab_figure09.png]]
Figure 9
where,
'''[pn,fn]=fileparts(string1)''' subdivides the absolute filename into the path and file name,
'''addpath(pn);''' adds the path.
'''eval(string2);''' evalutes the function and parameters stored in '''string2''' using '''eval''' or some derivative of the eval function.
5) How to access and dynamically modifying Matlab variables and function parameters from within SCIRun?
The ability to interact with the execution of the Matlab code within SCIRun requires a mechanism that enables the indivdual parameter to be modified by a user from within the user defined InterfaceMultiPhaseCVWithMatlab module, which are then passed to the InterfaceWithMatlab module for processing.
For example,
'''% Psuedo Matlab code'''
'''% Matrices X, Y and Z'''
'''X = DoSomething(X, ...);'''
'''Y = DoSomething(Y, ...);'''
'''Z = DoSomething(Z, ...);'''
What we want to do is to be able to modify the parameters to the function '''DoSomething(Matrix, ...)''' then visualize the resultant matrix within SCIRun.
6) How to convert Matlab data types into corresponding SCIRun data types?
For example,
We are interested in the result of the application of a series of mathematical function within Matlab to a particular dataset such as an MRI scan. So we need a method to convert the results from a Matlab data format to a format that is recognized by SCIRun.
[[Image:matlab_figure10.png]]
Figure 10
7) How to combine scientific visualization data representation with additional information described within the Matlab code?
An important aspect of creating a compelling visual representation of scientific data is the ability to incorporate additional information such as titles, axis, labels, etc into the visualization.
8) How to create a SCIRun visualization from Matlab data processing?
For example,
The main driving force for integrating Matlab with SCIRun is the ability to incorporate the advance visualization functionality that is available within SCIRun (See Figure 5).
9) How to create a SCIRun visualization networks the are equivalent to the Matlab visualization functionality?
For example,
Although we are primarily concerned with utilizing the advanced vizualization functionality available within SCIRun. It is important to be able to replicate the existing visualization functionality available within Matlab, such as contour(...), surf(...), mesh(...) etc.
One method of mimicking the contour function within SCIRun is to use the '''ExtractIsosurface''' module.
10) How to execute existing Matlab code within the SCIRun environment with little of no modification?
For example, we have some existing Matlab code as shown below.
'''function DoSomething(...) {'''
''' % perform data processing'''
''' process_data;'''
''' % call function data_visualization'''
''' output = data_visualization(X,Y,Z,T,...);'''
'''}'''
'''function data_visualization(X,Y,Z,T, ...) {'''
''' % generates a series of different contour plots'''
''' subplot(2, 2, 1);'''
''' contourf(X, Y, Z, T);'''
''' subplot(2, 2, 2);''''''
''' contour(X, Y, inv(Z), T);'''
''' subplot(2, 2, 3);'''
''' contour3(X, Y, fliplr(Z), T);'''
''' subplot(2, 2, 4);'''
''' contourc(X, inv(Y), Z, T);'''
'''}'''
Ideally we don't want to modify the existing Matlab code to enable it to be executed and visualized within SCIRun. However, to be able to access data from within an executing Matlab program. The existing Matlab code must be modified to either allow a socket connection or be able to write the data to a file. Otherwise, SCIRun cannot access the data generated from within separate program.
11) Performing the same task using the InterfaceWithMatlabViaBundles module.
For certain applications it is desireable to store several SCIRun objects into a single bundle object, similar to an array in C. This can reduce the number of input and output connections between SCIRun modules and enables a cleaner dataflow network to be created.
For example, while executing some process within a module several matrices are generated, which in turn need to be passed to another module for further processing. Rather than create a connection between the two SCIRun modules for each matrix generated. It would be better to store the matrices within a bundle and create a single connection between the two SCIRun modules.
[[Image:Matlab_bundle1.png]]
Figure 11
Figure 11 illustrates how two string objects '''string1''' & '''string2''' are inserted into a bundle object using the '''InsertStringsIntoBundle''' module. The resulting bundle object is then passed to the '''InterfaceWithMatlabViaBundles''' module and the two strings are extracted from the bundle using the command '''bundle1.string1''' & '''bundle1.string2''' within the '''InterfaceWithMatlab''' code window. The data extracted from the input bundle '''bundle1''' are then used to execute some Matlab function (see above examples). The file '''test_matrix.mat''' contains several matrices generated by the executed Matlab code was loaded into the SCIRun InterfaceWithMatlab module using the command
'''sample_matrix = load('/path/to/file/test_matrix.mat');''' . The variable sample_matrix is similar to a structure in C and the data stored within it can be accessed in the same way. For example,
'''field1 = sample_matrix.X;''' .
[[Image:Matlab_bundle2.png]]
Figure 12
The InterfaceWithMatlab code window in Figure 12 illustrates how SCIRun objects are inserted into an output bundle using the command
'''out_bundle1.field1 = field1;''' . The variable '''out_bundle1''' was declared
within output bundles section of the input/output window. Although the default variable name for the first output bundle is bundle1, which happens to be the same as the variable name for the equivalent input bundle.
12) Extracting SCIRun objects that are stored within a bundle.
Once data has been stored within a bundle it is essential that the data can be accessed easily. To accomplish this SCIRun contains several modules under the tabs '''SCIRun > Bundle >''' . As shown in Figure 13.
[[Image:Matlab_bundle_convert.png]]
Figure 13
In Figure 14 the modules '''GetMatricesFromBundle''' and '''ReportBundleInfo''' are attached to the module '''InterfaceWithMatlabViaBundles''' using the bundle commuication ports. Clicking the UI button on the '''ReportBundleInfo''' module launches a GUI that displays the variable names and datatypes of the objects stored with the bundle. For example, '''field1(matrix)''' where '''field1''' is the variable name and '''matrix''' is the datatype.
[[Image:Matlab_bundle3.png]]
Figure 14
Although the output bundle tabs on the user interface only show prefer nrrds and prefer matrices. The '''InterfaceWithMatlabViaBundles''' module can implicitly export fields, strings, nrrds and matrices within a bundle (see Figure 18).
13) The loading of image files for processing and subsequent visualization can be achieved within the InterfaceWithMatlab and InterfaceWithMatlabViaBundles modules, as illustrated in Figure 15.
[[Image:Matlab_bundle4.png]]
Figure 15
In Figure 15 an image file is loaded into the InterfaceWithMatlabViaBundles modules using the command '''image_file = imread(output_image);''', where output_image contains the path and name of the image file ('''/path/to/file.extension'''). The image file is then incorporated into a bundle using the command '''bundle2.image1 = image_file;'''. The data stored within '''bundle2''' is then converted to the nrrd datatype by changing the output type tab that is associated with the output port '''bundle 2''' from '''prefer matrices''' to '''prefer nrrds'''.
To extract the nrrd data stored in the bundle. The '''GetNrrdsFromBundle''' module was attached to the bundle output port of the '''InterfaceWithMatlabViaBundles''' module as illustrated by the SCIRun dataflow network (See Figure 15).
Once the image data has been exported from the '''InterfaceWithMatlabViaBundles''' module to the '''GetNrrdsFromBundle''' module. It is then possible to convert the nrrd image into a different SCIRun datatype for additional processing and subsequent visualization. Figure 16 illustrates how a nrrd image stored within a bundle is converted into a SCIRun field datatype using the '''ConvertNrrdToField''' module, which is attached to the '''GetNrrdsFromBundle''' module.
To ensure that the correct nrrd image is extracted from the bundle using the '''GetNrrdsFromBundle''' module and passed onto the '''ConvertNrrdToField module'''. Open the GUI shown at the top right of Figure 16 appears, then select the appropriate image (image1) so that appears in the top text box.
[[Image:Figure16.png]]
Figure 16
Once the nrrd image has been converted into a field datatype using the '''ConvertNrrdToField''' module. It is possible to extract information about the convert field datatype by attaching the '''ReportFieldInfo''' module to the '''ConvertNrrdToField''' module and clicking on the UI button. That launches a GUI (see bottom of Figure 16), which enables the user to verify the structure and type of data stored within the field.
14) Visualization of the nrrd image.
It is possible to visualize the image generated by the matlab program within SCI.
[[Image:Figure17.png]]
Figure 17
In Figure 17 the SCIRun dataflow network from Figure 16 was modified to remove the '''ConvertNrrdToField''' and '''ReportFieldInfo''' modules. While incorporating the '''ViewSlices''' module, which is attached to the '''GetNrrdsFromBundle''' module. It is now possible to display the image created by the Matlab program within the SCIRun software environment by launching the '''ViewSlices''' GUI (See Figure 17).
15) Extracting and modify data stored with the image.
Now that we are able to display the image data generated by the Matlab program. The next step is to enable the user to extract or modify data stored within the image displayed within SCIRun.
Title and axis labels are important components of data visualization, which helps the user to obtain useful details from the visual representation of the data. This information can be extracted from the user defined parameters passed to the Matlab function via the InterfaceMultiPhaseCVWithMatlab module using the regular expression functionality available within Matlab. The next step is to incorporate the information extracted into a bundle, which is then passed to another SCIRun module (see Figure 18).
[[Image:Matlab_figure18.png]]
Figure 18
In Figure 18 a dataflow connection is made between the third bundle output port of the '''InterfaceWithMatlabViaBundles''' module and the '''GetStringsFromBundle''' module. The strings extracted from the bundle are then passed to the '''ShowString''' module. which are attached to the '''ViewScene''' module and combined with the processed image. The result of combining the string and image information can be seen in the view scene window at the top right corner of Figure 18.
[[Image:Matlab_figure19.png]]
Figure 19
Figure 19 shows a simpler dataflow network than that depicted in Figure 18. In the '''GetStringFromBundle''' user interface window shows three string variables in the main text box, which are assigned to different output ports '''String1 = title''', '''String2 = method''' and '''String3 = timesteps'''. These string variable where incorporated into a bundle within the '''InterfaceWithMatlabViaBundles''' module using the commands within the Matlab code window:
'''bundle3.title = title;'''
'''bundle3.method = method;'''
'''bundle3.timesteps = timesteps;'''
To verify that the string variables passed from the '''InterfaceWithMatlabViaBundles''' contain the correct data. The '''ReportStringInfo''' module was attached to the output port of the '''GetStringFromBundle''' module, which displays the string value within the user interface window (see the top of Figure 19). Now that we have verified that the strings are correct we can incorporate the string information within the visualization by attaching the output ports from the '''GetStringsFromBundle''' modules to the input port of the '''ShowString''' modules. The position of the strings can be modified within the '''ShowString''' modules and then combined with the image by connecting the '''ShowString''' modules to the '''ViewScene''' module as illustrated in Figure 18.
File:Figure16.png
6
1824
3960
2007-01-30T21:55:25Z
Dbrayford
43
wikitext
text/x-wiki
CIBC:Project:NCMIR
0
1061
2129
2117
2007-01-31T03:36:31Z
Cates
4
/* Overview */
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
<b>For up to date information and announcements regarding Seg3D please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl Join the Seg3D Mailing List. ]</b>
<b>Seg3D is built atop the LeXoV volume processing engine.
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-01.png Capecchi Collab Screenshot 1]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-02.png Capecchi Collab Screenshot 2]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-04.png Matt Jolley Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-05.png Dr. Valentino @ UCLA Collab Screenshot]
[http://www.sci.utah.edu/~mdavis/Seg3D/Seg3D-06.png NCMIR Collab Screenshot]
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://www.sci.utah.edu/~mdavis/Seg3D/ 720x480 PowerPoint optimized movies]
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movie scripts on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters, & custom filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Allows for sharing of volume memory between Nrrd and Insight filters
* Small (5-10mb binary)
* Minimal dependencies (OpenGL, Freetype)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
* Based on SCIRun Core libraries
=== Software Process ===
* Uses existing open source projects (ITK, freetype, libxml2)
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable under BSD style license
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
3194
2129
2007-03-31T17:36:48Z
McKayDavis
45
wikitext
text/x-wiki
== Overview ==
The SCI segmentation application is an OpenGL-based viewer and editor of scientific
voxel data. It can handle data
types ranging from eight-bit to double precision floating point formats and
features three-dimensional navigation and editing of scalar,
vector, and RGBA data. Users can simultaneously view multiple orthogonal,
two-dimensional slices of the data and create segmentation masks (labeled
images) using manual drawing tools and automated segmentation algorithms. Any
number of volumes can be displayed relative to each other with correct origin,
orientations, and data spacing. Visualization tools include standard and
custom color lookup tables, infinite zooming, paning, and surface and volume
rendering. Multiple modalities acquired at different resolutions can be
displayed using separate color maps with transparency for manual registration.
Data may be cropped, resampled, and thresholded. This tool integrates powerful
higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image
statistics, flood filling, morphological operations, and level-set segmentation algorithms.
<b>For up to date information and announcements regarding Seg3D please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl Join the Seg3D Mailing List. ]</b>
<b>Seg3D is built atop the LeXoV volume processing engine.
== Features ==
* Familiar, Photoshop-style interface
* Entirely open source code
* Layered volumes displayed in unified coordinate space
* Automated filtering plus Manual Contouring and Painting
* Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
* Realtime display of ITK filter output allows for computational steering
* Custom interface design (e.g. VCR controls for level-sets)
* Customizable layout and event management engine XML-based
* Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
* Supports many common biomedical formats (ITK File IO)
* Event capture and replay (''not currently enabled'')
* Session save / reload allows user to return to previous program state
* 64-bit enabled for massive volumes on large memory machines
* Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (''not currently exposed'')
== Screen Shots ==
[http://code.sci.utah.edu/Seg3D/media/Seg3D-01.png Capecchi Collab Screenshot 1]
[http://code.sci.utah.edu/Seg3D/media/Seg3D-02.png Capecchi Collab Screenshot 2]
[http://code.sci.utah.edu/Seg3D/media/Seg3D-04.png Matt Jolley Collab Screenshot]
[http://code.sci.utah.edu/Seg3D/media/Seg3D-05.png Dr. Valentino @ UCLA Collab Screenshot]
[http://code.sci.utah.edu/Seg3D/media/Seg3D-06.png NCMIR Collab Screenshot]
<!-- [[Image:biopainter.png|left|thumb|Early development 2006]]-->
<!-- [[Image:Screenshot08.png|left|thumb|August 2006]] -->
<!-- [[Image:Screenshot10.png|left|thumb|August 2006]] -->
<br style="clear:both" />
== Movies ==
[http://code.sci.utah.edu/Seg3D/media/ 720x480 PowerPoint optimized movies]
[http://code.sci.utah.edu/LeXoV/index.php/Demo1 Movie scripts on LeXoV.org wiki]
== Design ==
=== Seg3D Concept ===
[[Image:dataflow.png|right|thumb|Diagram describing dataflow in the app.]]
* 3D analog to Photoshop
* Work with multiple volumes simultaneously
* Volumes are organized in ''Layers''
* Layers may be visualized separately or as blended overlays
* Each layer is assigned its own color map
* Layers may be piped to ''Filters'' (ITK or other)
* Filter output is piped back into a new Layer
* Any number of ''Label Layers'' may be created
* Label Layers are bit masks that represent a hierarchy of binary segmentations
* Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
* File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
* Users may save work in sessions and reload
=== Hand Contouring / Painting ===
* Each label represented as 1-bit in memory
* Respects logical operations (AND, OR, NOT, etc)
* Heierarchical label management
* Ontologies may be enforced by mapping to these logical operations
=== Image Processing and Segmentation ===
* ITK Filters, Teem Filters, & custom filters
* Focus on ''integration'' of filters versus simple wrapping
** Integrated with the manual segmentation interface
** Real-time visualization of automated processing
** Minimize number of parameters that need to be exposed to user
=== Visualization ===
* Customizable 2D layouts (specified by XML)
* 3D slice views with isosurfacing
* Volume rendering coming soon
=== LeXoV Engine ===
* Infrastructure for volume processing applications
* Provides layer management, manual editing and visualization
* Allows for sharing of volume memory between Nrrd and Insight filters
* Small (5-10mb binary)
* Minimal dependencies (OpenGL, Freetype)
* Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
* Based on SCIRun Core libraries
=== Software Process ===
* Uses existing open source projects (ITK, freetype, libxml2)
* Rapid prototyping & development supported by CMake and Dart
* Source code is freely available and reusable under BSD style license
== Interested Parties ==
* NCMIR, Mark Ellisman (UCSD)
* Mario Capecchi (University of Utah)
* Matt Jolley (Childrens Hospital, Boston)
* Gregory Sharp and George Chen (Harvard MGH)
* Dr. Valentino (UCLA, LONI pipeline)
* Chris Butson (Cleveland Clinic)
* SCI Institute people
* Makeig-Worrell?
<br style="clear:both" />
== Schedule ==
* 9/5/2006 Phone TCON with NCMIR
* 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
* 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
* 10/15/2006 Limited release date pushed back to 10/18/2006
* 12/31/2006 Tentative release date for general Alpha release (see release notes below)
== Notes ==
9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.
9/18/06-9/22/06 McKay works on manual contouring infrastructure.
9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for
limited release specified. Static binary builds for Mac and Linux are worked out.
10/10/06-10/18/06 Documentation, testing, final details...
11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.
== Release Notes ==
=== Limited NCMIR Release ===
Planned features, in order of priority.
* Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
* GUI work to support above: primitive layer dialog?
* Additional paint brush options to support label painting/ contouring
* Visualization of label maps: contour view
* Volume-rendering of multiple isosurfaces (some work needed).
* Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
* Stand alone executables: mac linux, maybe windows
=== Alpha release ===
Additional features beyond those in NCMIR Release.
* Full-featured layer dialog
* Isosurfacing.
* Volume rendering with 2D transfer function widget.
* Tool dialog design and implementation
* Windows, Linux, Mac binaries.
* Additional ITK filtering.
File:Figure17.png
6
1825
3961
2007-01-31T23:03:30Z
Dbrayford
43
wikitext
text/x-wiki
Main Page
0
1
2136
2123
2007-02-10T15:26:14Z
Macleod
3
/* Development Info */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
4898
2136
2007-05-07T00:05:42Z
Erikj
2
/* Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
4899
4898
2007-05-07T00:08:33Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
Test edit.
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
4900
4899
2007-05-07T00:16:01Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
4901
4900
2007-05-07T00:42:09Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
Test.
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
4902
4901
2007-05-07T16:38:51Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
File:Matlab figure18.png
6
1826
3962
2007-02-13T18:30:59Z
Dbrayford
43
wikitext
text/x-wiki
File:Matlab figure19.png
6
1827
3963
2007-02-14T16:25:21Z
Dbrayford
43
wikitext
text/x-wiki
CIBC:ShapeAnalysis
0
1828
2130
2007-04-18T17:13:18Z
Cates
4
wikitext
text/x-wiki
= Shape Modeling and Analysis =
This research is a new method for constructing compact
statistical point-based models of ensembles of similar shapes that does
not rely on any specific surface parameterization. The method requires
very little preprocessing or parameter tuning, and is applicable to a wider
range of problems than existing methods, including nonmanifold surfaces
and objects of arbitrary topology. The proposed method is to construct
a point-based sampling of the shape ensemble that simultaneously maximizes
both the geometric accuracy and the statistical simplicity of the
model. Surface point samples, which also define the shape-to-shape correspondences,
are modeled as sets of dynamic particles that are constrained
to lie on a set of implicit surfaces. Sample positions are optimized by gradient
descent on an energy function that balances the negative entropy
of the distribution on each shape with the positive entropy of the ensemble
of shapes. We also extend the method with a curvature-adaptive
sampling strategy in order to better approximate the geometry of the
objects. We have developed code based on ITK for computation of correspondence-based
models, and have validated out method in several papers against several synthetic and real
examples in two and three dimensions, including application to the statistical
shape analysis of brain structures. Our most recent work is in the application of the
particle method to mult-object shape complexes.
== Publications ==
* J. Cates, P. Thomas Fletcher, M. Styner, M. Shenton, R. Whitaker. Shape Modeling and Analysis with Entropy-Based Particle Systems. IPMI 2007, accepted.
* J. Cates, P. Thomas Fletcher, R. Whitaker. Entropy-Based Particle Systems for Shape Corresopndence. Mathematical Foundations of Computational Anatomy Workshop, MICCAI 2006. pp. 90-99 Oct 2006.
2131
2130
2007-04-18T17:32:49Z
Cates
4
/* Shape Modeling and Analysis */
wikitext
text/x-wiki
= Shape Modeling and Analysis =
This research is a new method for constructing compact
statistical point-based models of ensembles of similar shapes that does
not rely on any specific surface parameterization. The method requires
very little preprocessing or parameter tuning, and is applicable to a wider
range of problems than existing methods, including nonmanifold surfaces
and objects of arbitrary topology. The proposed method is to construct
a point-based sampling of the shape ensemble that simultaneously maximizes
both the geometric accuracy and the statistical simplicity of the
model. Surface point samples, which also define the shape-to-shape correspondences,
are modeled as sets of dynamic particles that are constrained
to lie on a set of implicit surfaces. Sample positions are optimized by gradient
descent on an energy function that balances the negative entropy
of the distribution on each shape with the positive entropy of the ensemble
of shapes. We also extend the method with a curvature-adaptive
sampling strategy in order to better approximate the geometry of the
objects. We have developed code based on ITK for computation of correspondence-based
models, and have validated out method in several papers against several synthetic and real
examples in two and three dimensions, including application to the statistical
shape analysis of brain structures.
Our most recent work is in the application of the particle method to multi-object shape complexes. We have developed a novel method for computing surface point correspondences of multi-object anatomy that
is a straightforward extension of the particle method for single-object anatomy. The correspondences take advantage of the statistical structure of an ensemble of complexes, and thus they are
suitable for joint statistical analyses of shape and relative pose.
The proposed method uses a dynamic particle system to optimize
correspondence point positions across all structures in a complex
simultaneously, in order to create a compact model of ensemble statistics.
It is a different approach from previous methods for dealing with shape
complexes, because to date researchers have considered the correspondence
problem only for each structure independently, and have ignored intermodel
correlations in the shape parameterization. These correlations are
particularly important when the correspondences are constructed in order to
reduce or minimize the information content of the ensemble.
We have developed a formulation of the multi-object correspondence optimization, and have applied it
to a proof-of-concept application to the analysis of brain structure complexes from a longitudinal study of pediatric autism that is underway at UNC chapel hill. This work is in conjunction with Martin Styner, Heather Cody Hazlett, and Joe Piven. The image below shows the raw p-values from hypothesis testing for group differences as color-maps on mean shapes of the autism group (top row) and the normal control group (bottom row). Red indicates areas where significant group differences were found (p-values $< 0.05$), with blue elsewhere (p-values$>= 0.05$). The top row shows the results when relative geometric scale is included, and the bottom shows relative scale removed. Structures are
shown in the their mean
orientations, positions, and scale in the global coordinate frame. We computed
the average orientation for each structure using methods for averaging in
curved spaces.
[[Image:meanshapes.png]]
== Publications ==
* J. Cates, P. Thomas Fletcher, M. Styner, M. Shenton, R. Whitaker. Shape Modeling and Analysis with Entropy-Based Particle Systems. IPMI 2007, accepted.
* J. Cates, P. Thomas Fletcher, R. Whitaker. Entropy-Based Particle Systems for Shape Corresopndence. Mathematical Foundations of Computational Anatomy Workshop, MICCAI 2006. pp. 90-99 Oct 2006.
2132
2131
2007-04-18T17:35:34Z
Cates
4
/* Shape Modeling and Analysis */
wikitext
text/x-wiki
= Shape Modeling and Analysis =
This research is a new method for constructing compact
statistical point-based models of ensembles of similar shapes that does
not rely on any specific surface parameterization. The method requires
very little preprocessing or parameter tuning, and is applicable to a wider
range of problems than existing methods, including nonmanifold surfaces
and objects of arbitrary topology. The proposed method is to construct
a point-based sampling of the shape ensemble that simultaneously maximizes
both the geometric accuracy and the statistical simplicity of the
model. Surface point samples, which also define the shape-to-shape correspondences,
are modeled as sets of dynamic particles that are constrained
to lie on a set of implicit surfaces. Sample positions are optimized by gradient
descent on an energy function that balances the negative entropy
of the distribution on each shape with the positive entropy of the ensemble
of shapes. We also extend the method with a curvature-adaptive
sampling strategy in order to better approximate the geometry of the
objects. We have developed code based on ITK for computation of correspondence-based
models, and have validated out method in several papers against several synthetic and real
examples in two and three dimensions, including application to the statistical
shape analysis of brain structures.
Our most recent work is in the application of the particle method to multi-object shape complexes. We have developed a novel method for computing surface point correspondences of multi-object anatomy that
is a straightforward extension of the particle method for single-object anatomy. The correspondences take advantage of the statistical structure of an ensemble of complexes, and thus they are suitable for joint statistical analyses of shape and relative pose. The proposed method uses a dynamic particle system to optimize correspondence point positions across all structures in a complex
simultaneously, in order to create a compact model of ensemble statistics.
It is a different approach from previous methods for dealing with shape
complexes, because to date researchers have considered the correspondence
problem only for each structure independently, and have ignored intermodel
correlations in the shape parameterization. These correlations are
particularly important when the correspondences are constructed in order to
reduce or minimize the information content of the ensemble.
We have developed a formulation of the multi-object correspondence optimization, and have applied it to a proof-of-concept application to the analysis of brain structure complexes from a longitudinal study of pediatric autism that is underway at UNC chapel hill. This work is in conjunction with Martin Styner, Heather Cody Hazlett, and Joe Piven. The image below shows the raw p-values from hypothesis testing for group differences as color-maps on mean shapes of the autism group (top row) and the normal control group (bottom row). Red indicates areas where significant group differences were found (p-values $< 0.05$), with blue elsewhere (p-values$>= 0.05$). The top row shows the results when relative geometric scale is included, and the bottom shows relative scale removed. Structures are shown in the their mean orientations, positions, and scale in the global coordinate frame. We computed the average orientation for each structure using methods for averaging in
curved spaces.
[[Image:meanshapes.png|thumbnail|Figure2]]
== Publications ==
* J. Cates, P. Thomas Fletcher, M. Styner, M. Shenton, R. Whitaker. Shape Modeling and Analysis with Entropy-Based Particle Systems. IPMI 2007, accepted.
* J. Cates, P. Thomas Fletcher, R. Whitaker. Entropy-Based Particle Systems for Shape Corresopndence. Mathematical Foundations of Computational Anatomy Workshop, MICCAI 2006. pp. 90-99 Oct 2006.
2133
2132
2007-04-18T17:36:09Z
Cates
4
/* Shape Modeling and Analysis */
wikitext
text/x-wiki
= Shape Modeling and Analysis =
This research is a new method for constructing compact
statistical point-based models of ensembles of similar shapes that does
not rely on any specific surface parameterization. The method requires
very little preprocessing or parameter tuning, and is applicable to a wider
range of problems than existing methods, including nonmanifold surfaces
and objects of arbitrary topology. The proposed method is to construct
a point-based sampling of the shape ensemble that simultaneously maximizes
both the geometric accuracy and the statistical simplicity of the
model. Surface point samples, which also define the shape-to-shape correspondences,
are modeled as sets of dynamic particles that are constrained
to lie on a set of implicit surfaces. Sample positions are optimized by gradient
descent on an energy function that balances the negative entropy
of the distribution on each shape with the positive entropy of the ensemble
of shapes. We also extend the method with a curvature-adaptive
sampling strategy in order to better approximate the geometry of the
objects. We have developed code based on ITK for computation of correspondence-based
models, and have validated out method in several papers against several synthetic and real
examples in two and three dimensions, including application to the statistical
shape analysis of brain structures.
Our most recent work is in the application of the particle method to multi-object shape complexes. We have developed a novel method for computing surface point correspondences of multi-object anatomy that
is a straightforward extension of the particle method for single-object anatomy. The correspondences take advantage of the statistical structure of an ensemble of complexes, and thus they are suitable for joint statistical analyses of shape and relative pose. The proposed method uses a dynamic particle system to optimize correspondence point positions across all structures in a complex
simultaneously, in order to create a compact model of ensemble statistics.
It is a different approach from previous methods for dealing with shape
complexes, because to date researchers have considered the correspondence
problem only for each structure independently, and have ignored intermodel
correlations in the shape parameterization. These correlations are
particularly important when the correspondences are constructed in order to
reduce or minimize the information content of the ensemble.
We have developed a formulation of the multi-object correspondence optimization, and have applied it to a proof-of-concept application to the analysis of brain structure complexes from a longitudinal study of pediatric autism that is underway at UNC chapel hill. This work is in conjunction with Martin Styner, Heather Cody Hazlett, and Joe Piven. The image below shows the raw p-values from hypothesis testing for group differences as color-maps on mean shapes of the autism group (top row) and the normal control group (bottom row). Red indicates areas where significant group differences were found (p-values $< 0.05$), with blue elsewhere (p-values$>= 0.05$). The top row shows the results when relative geometric scale is included, and the bottom shows relative scale removed. Structures are shown in the their mean orientations, positions, and scale in the global coordinate frame. We computed the average orientation for each structure using methods for averaging in
curved spaces.
[[Image:meanviews.png|thumbnail|Figure2]]
== Publications ==
* J. Cates, P. Thomas Fletcher, M. Styner, M. Shenton, R. Whitaker. Shape Modeling and Analysis with Entropy-Based Particle Systems. IPMI 2007, accepted.
* J. Cates, P. Thomas Fletcher, R. Whitaker. Entropy-Based Particle Systems for Shape Corresopndence. Mathematical Foundations of Computational Anatomy Workshop, MICCAI 2006. pp. 90-99 Oct 2006.
2134
2133
2007-04-18T17:45:41Z
Cates
4
/* Shape Modeling and Analysis */
wikitext
text/x-wiki
= Shape Modeling and Analysis =
This research is a new method for constructing compact
statistical point-based models of ensembles of similar shapes that does
not rely on any specific surface parameterization. The method requires
very little preprocessing or parameter tuning, and is applicable to a wider
range of problems than existing methods, including nonmanifold surfaces
and objects of arbitrary topology. The proposed method is to construct
a point-based sampling of the shape ensemble that simultaneously maximizes
both the geometric accuracy and the statistical simplicity of the
model. Surface point samples, which also define the shape-to-shape correspondences, are modeled as sets of dynamic particles that are constrained
to lie on a set of implicit surfaces. Sample positions are optimized by gradient
descent on an energy function that balances the negative entropy
of the distribution on each shape with the positive entropy of the ensemble
of shapes. We also extend the method with a curvature-adaptive
sampling strategy in order to better approximate the geometry of the
objects. We have developed code based on ITK for computation of correspondence-based models, and have validated out method in several papers against several synthetic and real examples in two and three dimensions, including application to the statistical shape analysis of brain structures. We used hippocampus data from a schizo-typal personality disorder (SPD) study funded by
the Stanley Foundation and UNC-MHNCRC (MH33127), and caudate data from a schizophrenia
study funded by NIMH R01 MH 50740 (Shenton), NIH K05 MH 01110 (Shenton), NIMH
R01 MH 52807 (McCarley), and a VA Merit Award (Shenton).
Figure 1,2 illustrates results of hypothesis testing for group differences from the control population for the left/right hippocampus and the left/right caudate. Raw and FDR-corrected p-values are given. Areas of significant
group differences ($p <= 0.05$) are shown in red. Areas with insignificant
group differences ($p > 0.05$) are shown in blue. Our results correlate with with other published hypothesis testing results on this data.
Our most recent work is in the application of the particle method to multi-object shape complexes. We have developed a novel method for computing surface point correspondences of multi-object anatomy that
is a straightforward extension of the particle method for single-object anatomy. The correspondences take advantage of the statistical structure of an ensemble of complexes, and thus they are suitable for joint statistical analyses of shape and relative pose. The proposed method uses a dynamic particle system to optimize correspondence point positions across all structures in a complex
simultaneously, in order to create a compact model of ensemble statistics.
It is a different approach from previous methods for dealing with shape
complexes, because to date researchers have considered the correspondence
problem only for each structure independently, and have ignored intermodel
correlations in the shape parameterization. These correlations are
particularly important when the correspondences are constructed in order to
reduce or minimize the information content of the ensemble.
[[Image:lcomb-grayscale.png|thumbnail|Figure 1]]
[[Image:rcomb-grayscale.png|thumbnail|Figure 2]]
We have developed a formulation of the multi-object correspondence optimization, and have applied it to a proof-of-concept application to the analysis of brain structure complexes from a longitudinal study of pediatric autism that is underway at UNC chapel hill. This work is in conjunction with Martin Styner, Heather Cody Hazlett, and Joe Piven. Figure 3 shows the raw p-values from hypothesis testing for group differences as color-maps on mean shapes of the autism group (top row) and the normal control group (bottom row). Red indicates areas where significant group differences were found (p-values $< 0.05$), with blue elsewhere (p-values$>= 0.05$). The top row shows the results when relative geometric scale is included, and the bottom shows relative scale removed. Structures are shown in the their mean orientations, positions, and scale in the global coordinate frame. We computed the average orientation for each structure using methods for averaging in
curved spaces.
[[Image:meanviews.png|thumbnail|Figure 3]]
== Publications ==
* J. Cates, P. Thomas Fletcher, M. Styner, M. Shenton, R. Whitaker. Shape Modeling and Analysis with Entropy-Based Particle Systems. IPMI 2007, accepted.
* J. Cates, P. Thomas Fletcher, R. Whitaker. Entropy-Based Particle Systems for Shape Corresopndence. Mathematical Foundations of Computational Anatomy Workshop, MICCAI 2006. pp. 90-99 Oct 2006.
2135
2134
2007-04-18T17:48:37Z
Cates
4
/* Shape Modeling and Analysis */
wikitext
text/x-wiki
= Shape Modeling and Analysis =
This research is a new method for constructing compact
statistical point-based models of ensembles of similar shapes that does
not rely on any specific surface parameterization. The method requires
very little preprocessing or parameter tuning, and is applicable to a wider
range of problems than existing methods, including nonmanifold surfaces
and objects of arbitrary topology. The proposed method is to construct
a point-based sampling of the shape ensemble that simultaneously maximizes
both the geometric accuracy and the statistical simplicity of the
model. Surface point samples, which also define the shape-to-shape correspondences, are modeled as sets of dynamic particles that are constrained
to lie on a set of implicit surfaces. Sample positions are optimized by gradient
descent on an energy function that balances the negative entropy
of the distribution on each shape with the positive entropy of the ensemble
of shapes. We also extend the method with a curvature-adaptive
sampling strategy in order to better approximate the geometry of the
objects. We have developed code based on ITK for computation of correspondence-based models, and have validated out method in several papers against several synthetic and real examples in two and three dimensions, including application to the statistical shape analysis of brain structures. We used hippocampus data from a schizo-typal personality disorder (SPD) study funded by
the Stanley Foundation and UNC-MHNCRC (MH33127), and caudate data from a schizophrenia
study funded by NIMH R01 MH 50740 (Shenton), NIH K05 MH 01110 (Shenton), NIMH
R01 MH 52807 (McCarley), and a VA Merit Award (Shenton).
Figure 1,2 illustrates results of hypothesis testing for group differences from the control population for the left/right hippocampus and the left/right caudate. Raw and FDR-corrected p-values are given. Areas of significant
group differences ($p <= 0.05$) are shown in red. Areas with insignificant
group differences ($p > 0.05$) are shown in blue. Our results correlate with with other published hypothesis testing results on this data.
Our most recent work is in the application of the particle method to multi-object shape complexes. We have developed a novel method for computing surface point correspondences of multi-object anatomy that
is a straightforward extension of the particle method for single-object anatomy. The correspondences take advantage of the statistical structure of an ensemble of complexes, and thus they are suitable for joint statistical analyses of shape and relative pose. The proposed method uses a dynamic particle system to optimize correspondence point positions across all structures in a complex
simultaneously, in order to create a compact model of ensemble statistics.
It is a different approach from previous methods for dealing with shape
complexes, because to date researchers have considered the correspondence
problem only for each structure independently, and have ignored intermodel
correlations in the shape parameterization. These correlations are
particularly important when the correspondences are constructed in order to
reduce or minimize the information content of the ensemble.
[[Image:Lcomb-grayscale.png|thumbnail|Figure 1]]
[[Image:Rcomb-grayscale.png|thumbnail|Figure 2]]
We have developed a formulation of the multi-object correspondence optimization, and have applied it to a proof-of-concept application to the analysis of brain structure complexes from a longitudinal study of pediatric autism that is underway at UNC chapel hill. This work is in conjunction with Martin Styner, Heather Cody Hazlett, and Joe Piven. Figure 3 shows the raw p-values from hypothesis testing for group differences as color-maps on mean shapes of the autism group (top row) and the normal control group (bottom row). Red indicates areas where significant group differences were found (p-values $< 0.05$), with blue elsewhere (p-values$>= 0.05$). The top row shows the results when relative geometric scale is included, and the bottom shows relative scale removed. Structures are shown in the their mean orientations, positions, and scale in the global coordinate frame. We computed the average orientation for each structure using methods for averaging in
curved spaces.
[[Image:meanviews.png|thumbnail|Figure 3]]
== Publications ==
* J. Cates, P. Thomas Fletcher, M. Styner, M. Shenton, R. Whitaker. Shape Modeling and Analysis with Entropy-Based Particle Systems. IPMI 2007, accepted.
* J. Cates, P. Thomas Fletcher, R. Whitaker. Entropy-Based Particle Systems for Shape Corresopndence. Mathematical Foundations of Computational Anatomy Workshop, MICCAI 2006. pp. 90-99 Oct 2006.
3964
2135
2007-04-18T17:49:09Z
Cates
4
/* Shape Modeling and Analysis */
wikitext
text/x-wiki
= Shape Modeling and Analysis =
This research is a new method for constructing compact
statistical point-based models of ensembles of similar shapes that does
not rely on any specific surface parameterization. The method requires
very little preprocessing or parameter tuning, and is applicable to a wider
range of problems than existing methods, including nonmanifold surfaces
and objects of arbitrary topology. The proposed method is to construct
a point-based sampling of the shape ensemble that simultaneously maximizes
both the geometric accuracy and the statistical simplicity of the
model. Surface point samples, which also define the shape-to-shape correspondences, are modeled as sets of dynamic particles that are constrained
to lie on a set of implicit surfaces. Sample positions are optimized by gradient
descent on an energy function that balances the negative entropy
of the distribution on each shape with the positive entropy of the ensemble
of shapes. We also extend the method with a curvature-adaptive
sampling strategy in order to better approximate the geometry of the
objects. We have developed code based on ITK for computation of correspondence-based models, and have validated out method in several papers against several synthetic and real examples in two and three dimensions, including application to the statistical shape analysis of brain structures. We used hippocampus data from a schizo-typal personality disorder (SPD) study funded by
the Stanley Foundation and UNC-MHNCRC (MH33127), and caudate data from a schizophrenia
study funded by NIMH R01 MH 50740 (Shenton), NIH K05 MH 01110 (Shenton), NIMH
R01 MH 52807 (McCarley), and a VA Merit Award (Shenton).
Figure 1,2 illustrates results of hypothesis testing for group differences from the control population for the left/right hippocampus and the left/right caudate. Raw and FDR-corrected p-values are given. Areas of significant
group differences ($p <= 0.05$) are shown as dark regions. Areas with insignificant
group differences ($p > 0.05$) are shown as light regions. Our results correlate with with other published hypothesis testing results on this data.
Our most recent work is in the application of the particle method to multi-object shape complexes. We have developed a novel method for computing surface point correspondences of multi-object anatomy that
is a straightforward extension of the particle method for single-object anatomy. The correspondences take advantage of the statistical structure of an ensemble of complexes, and thus they are suitable for joint statistical analyses of shape and relative pose. The proposed method uses a dynamic particle system to optimize correspondence point positions across all structures in a complex
simultaneously, in order to create a compact model of ensemble statistics.
It is a different approach from previous methods for dealing with shape
complexes, because to date researchers have considered the correspondence
problem only for each structure independently, and have ignored intermodel
correlations in the shape parameterization. These correlations are
particularly important when the correspondences are constructed in order to
reduce or minimize the information content of the ensemble.
[[Image:Lcomb-grayscale.png|thumbnail|Figure 1]]
[[Image:Rcomb-grayscale.png|thumbnail|Figure 2]]
We have developed a formulation of the multi-object correspondence optimization, and have applied it to a proof-of-concept application to the analysis of brain structure complexes from a longitudinal study of pediatric autism that is underway at UNC chapel hill. This work is in conjunction with Martin Styner, Heather Cody Hazlett, and Joe Piven. Figure 3 shows the raw p-values from hypothesis testing for group differences as color-maps on mean shapes of the autism group (top row) and the normal control group (bottom row). Red indicates areas where significant group differences were found (p-values $< 0.05$), with blue elsewhere (p-values$>= 0.05$). The top row shows the results when relative geometric scale is included, and the bottom shows relative scale removed. Structures are shown in the their mean orientations, positions, and scale in the global coordinate frame. We computed the average orientation for each structure using methods for averaging in
curved spaces.
[[Image:meanviews.png|thumbnail|Figure 3]]
== Publications ==
* J. Cates, P. Thomas Fletcher, M. Styner, M. Shenton, R. Whitaker. Shape Modeling and Analysis with Entropy-Based Particle Systems. IPMI 2007, accepted.
* J. Cates, P. Thomas Fletcher, R. Whitaker. Entropy-Based Particle Systems for Shape Corresopndence. Mathematical Foundations of Computational Anatomy Workshop, MICCAI 2006. pp. 90-99 Oct 2006.
File:Meanviews.png
6
1829
3201
2007-04-18T17:33:18Z
Cates
4
wikitext
text/x-wiki
File:Lcomb-grayscale.png
6
1830
3202
2007-04-18T17:46:27Z
Cates
4
wikitext
text/x-wiki
File:Rcomb-grayscale.png
6
1831
3203
2007-04-18T17:46:53Z
Cates
4
wikitext
text/x-wiki
Main Page
0
1
4903
4902
2007-05-07T17:04:29Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
(test edit)
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
4904
4903
2007-05-07T17:05:11Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
test edit
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
4905
4904
2007-05-07T17:05:37Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this TEST:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
4906
4905
2007-05-07T17:10:08Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
<b>This is a test from the Emergency Wiki Repair System!!!<br />
This is only a test.</b>
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
4907
4906
2007-05-07T17:11:55Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
2137
4907
2007-05-07T20:20:03Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
Test edit.
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
4908
2137
2007-05-07T20:26:47Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
<math>\sqrt{2}</math>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
4909
4908
2007-05-07T20:27:12Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
<math>\sqrt{2}</math>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
4910
4909
2007-05-07T20:27:28Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
CIBC:Workshops:WorkshopCRC06
0
1036
4911
3172
2007-05-11T20:11:33Z
Erikj
2
/* CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focused on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop addressed these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants consisted of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop was not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:CRA-NIH_2006_Participant_List.pdf|Participant List - CRA-NIH_2006_Participant_List.pdf]]
* [[Media:CRA-NIH_Workshop_Final_Registration_List_7-3-06.pdf|Final Registration List - CRA-NIH_Workshop_Final_Registration_List_7-3-06.pdf]]
=== Workshop Overview and Goals Slides ===
* [[Media:CRA-NIH_2006_Workshop-Goals.ppt|Overview and Goals - CRA-NIH_2006_Workshop-Goals.ppt]]
=== Workshop Presentations ===
* [[Media:CRA-NIH-Workshop06-Johnson.pdf|Chris Johnson's Presentation (Large 61MB) - CRA-NIH-Workshop06-Johnson.pdf]]
* Lee Hood's Presentation
* [[Media:NIH_CRA_june06.pdf|Jill Mesirov's Presentation (Large 27MB) - NIH_CRA_june06.pdf]]
* [[Media:CRA-NIH-Reed06.pdf|Dan Reed's Presentation (Large 15MB) - CRA-NIH-Reed06.pdf]]
=== Working Group Slides ===
* [[Media:CRA-NIH_2006_RedTeam.ppt|Red Team Slides - CRA-NIH_2006_RedTeam.ppt]]
* [[Media:CRA-NIH_2006_BlueTeam.ppt|Blue Team Slides - CRA-NIH_2006_BlueTeam.ppt]]
* [[Media:CRA-NIH_2006_GreenTeam.ppt|Green Team Slides - CRA-NIH_2006_GreenTeam.ppt]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
4913
4911
2007-05-11T20:23:13Z
Erikj
2
/* CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 */
wikitext
text/x-wiki
== CRA-NIH Computing Research Challenges in Biomedicine Workshop - June 15-16, 2006 ==
=== Recommendations ===
<b>[[Media:CRA-NIH-Workshop-Recommendations-Final.pdf|CRA-NIH Computing Research Challenges in Biomedicine Workshop Recommendations]]</b>
=== Overview of the Workshop ===
Bethesda Marriott Hotel, 5151 Pooks Hill Rd., Bethesda, MD<br>
Register: http://www.blsmeetings.net/H1009 (by invitation only)
This meeting focused on computational needs that are central to the
mission of NIH. As noted in the 2004 NIH Roadmap vision, computing is
essential to progress in biomedicine: The success of computational
biology is shown by the fact that computation has become integral and
critical to modern biomedical research. However, the report also noted
the substantial and substantive challenges biomedical researchers face
in embracing cutting-edge computing research, as well as those faced by
computing researchers in understanding current and future biomedical
computing needs: Because computation is integral to biomedical research,
its deficiencies have become significant limiters on the rate of
progress of biomedical research.
This workshop addressed these and other associated challenges for
realizing the synergies between these two fields that can drive both
forward through cooperative effort.
The workshop participants consisted of a small number of invited
leaders in computing and selected NIH Program Directors. The objective
of the Workshop was not to create a report, but to develop a list of
focused action items that will have impact within the NIH and computing
communities.
=== Agenda ===
* [[Media:CRA-NIH-Agenda06.pdf|Workshop Agenda - CRA-NIH-Agenda06.pdf]]
=== Participant List ===
* [[Media:CRA-NIH_2006_Participant_List.pdf|Participant List - CRA-NIH_2006_Participant_List.pdf]]
* [[Media:CRA-NIH_Workshop_Final_Registration_List_7-3-06.pdf|Final Registration List - CRA-NIH_Workshop_Final_Registration_List_7-3-06.pdf]]
=== Workshop Overview and Goals Slides ===
* [[Media:CRA-NIH_2006_Workshop-Goals.ppt|Overview and Goals - CRA-NIH_2006_Workshop-Goals.ppt]]
=== Workshop Presentations ===
* [[Media:CRA-NIH-Workshop06-Johnson.pdf|Chris Johnson's Presentation (Large 61MB) - CRA-NIH-Workshop06-Johnson.pdf]]
* Lee Hood's Presentation
* [[Media:NIH_CRA_june06.pdf|Jill Mesirov's Presentation (Large 27MB) - NIH_CRA_june06.pdf]]
* [[Media:CRA-NIH-Reed06.pdf|Dan Reed's Presentation (Large 15MB) - CRA-NIH-Reed06.pdf]]
=== Working Group Slides ===
* [[Media:CRA-NIH_2006_RedTeam.ppt|Red Team Slides - CRA-NIH_2006_RedTeam.ppt]]
* [[Media:CRA-NIH_2006_BlueTeam.ppt|Blue Team Slides - CRA-NIH_2006_BlueTeam.ppt]]
* [[Media:CRA-NIH_2006_GreenTeam.ppt|Green Team Slides - CRA-NIH_2006_GreenTeam.ppt]]
=== Reports and Related Publications ===
* [[Image:NIH-NSF_Report_th.gif|left]] [[http://tab.computer.org/vgtc/vrc/index.html NIH/NSF Visualization Research Challenges Report]]<br clear="all">
* [[Image:PITAC_Computational_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf PITAC Report on Computational Science]]<br clear="all">
*[[Image:PITAC_Revolutionizing_th.gif|left]] [[http://www.nitrd.gov/pitac/reports/20040721_hit_report.pdf PITAC Report on Revolutionizing Health Care Through Information Technology]]<br clear="all">
* [[http://www.eecs.umich.edu/~jag/wdmbio/wdmb_rpt.pdf NIH/NSF Report on Research Challenges in Data Management for Biomedical Science]]<br clear="all">
* [[http://doegenomestolife.org/pubs/NRCComputingandBiology/index.shtml Catalyzing Inquiry at the Interface between Computing and Biology]]
* [[http://www.nih.gov/about/director/060399.htm The Biomedical Information Science and Technology Initiative]]
* [[http://www.genome.gov/11007524 A Vision for the Future of Genomics Research]]
*[[Image:2005_math_reports-1.gif|left]]
[[http://www7.nationalacademies.org/deps/2005_math_reports.html Mathematics and 21st Century Biology]]<br clear="all">
*[[Image:NSB-05-40_th.gif|left]]
[[http://www.nsf.gov/pubs/2005/nsb0540/start.jsp NSB-05-40, Long-Lived Digital Data Collections Enabling Research and Education in the 21st Century]]<br clear="all">
File:CRA-NIH-Workshop-Recommendations-Final.pdf
6
2560
4912
2007-05-11T20:12:37Z
Erikj
2
CRA-NIH Computing Research Challenges in Biomedicine Workshop Recommendations
wikitext
text/x-wiki
CRA-NIH Computing Research Challenges in Biomedicine Workshop Recommendations
CIBC:Project:Power App
0
1053
4914
3188
2007-05-24T09:51:08Z
Mjc
35
/* CAMAL mesher (2.5 mins) */
wikitext
text/x-wiki
=afront generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (4.35 mins including JoinMesh on each tetvol) ===
* Number of Tet elements checked = '''3407658'''
* Euler characteristics for this mesh indicate 2147483647 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3407658 Faces: 6822321 Edges: 3989022 Nodes: 574363
* Aspect Ratio: Low = 1.00002, Average = 1.31989, High = 1103.93
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37031, High = 125.679
* Volume: Low = 3.6855e-06, Average = 6.02404, High = 1117.93
* Condition: Low = 1.00002, Average = 1.23959, High = 43.9157
* Jacobian: Low = 2.2113e-05, Average = 36.1442, High = 6707.59
* '''Scaled_Jacobian: Low = 0.00291498, Average = 0.618757, High = 0.997019'''
* Shape: Low = 0.0398733, Average = 0.830174, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=marching cubes (SCIRun isosurface module) generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
At this time I cannot get a FE mesh generated including the Heart surface, (probably because the heart surface intersects the lungs somewhere) but below are the results for torso boundary, bones, and lungs. The results are still an interesting comparison.
=== Images ===
[[Image:mc-body.png]]
[[Image:mc-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (1:35 hours) ===
* Number of Tet elements checked = '''14300408'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 14300408 Faces: 29156724 Edges: 17524972 Nodes: 2668657
* Aspect Ratio: Low = 1.00006, Average = 1.06422e+21, High = 1.45221e+28
* Aspect Ratio (gamma): Low = 1.00073, Average = 3.44334e+07, High = 3.81639e+14
* Volume: Low = 3.83988e-19, Average = 1.4405, High = 266.872
* Condition: Low = 1.00005, Average = 1.9262e+07, High = 2.33327e+14
* Jacobian: Low = 2.30393e-18, Average = 8.64298, High = 1601.23
* '''Scaled_Jacobian: Low = 1.40881e-15, Average = 0.37441, High = 0.995652'''
* Shape: Low = 1.90147e-10, Average = 0.635895, High = 0.999953
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
4915
4914
2007-05-24T10:04:00Z
Mjc
35
/* CAMAL mesher (4.35 mins including JoinMesh on each tetvol) */
wikitext
text/x-wiki
=afront generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (2.5 mins) ===
* Number of Tet elements checked = '''4134572'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4134572 Faces: 8293379 Edges: 4861489 Nodes: 702683
* Aspect Ratio: Low = 1.00011, Average = 15.6498, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18851, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96518, High = 251.506
* Condition: Low = 1.00009, Average = 1.74342, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7911, High = 1509.04
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371746, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648068, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (4.42 mins including JoinMesh on each tetvol) ===
* Number of Tet elements checked = '''3415236'''
* Euler characteristics for this mesh indicate 2147483647 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3415236 Faces: 6837477 Edges: 3997659 Nodes: 575422
* Aspect Ratio: Low = 1.00002, Average = 1.32974, High = 1553.55
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37102, High = 74.7166
* Volume: Low = 3.23703e-06, Average = 6.01067, High = 1068.21
* Condition: Low = 1.00002, Average = 1.24125, High = 56.6776
* Jacobian: Low = 1.94222e-05, Average = 36.064, High = 6409.24
* '''Scaled_Jacobian: Low = 0.0070007, Average = 0.618421, High = 0.997181'''
* Shape: Low = 0.0563958, Average = 0.829903, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=marching cubes (SCIRun isosurface module) generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
At this time I cannot get a FE mesh generated including the Heart surface, (probably because the heart surface intersects the lungs somewhere) but below are the results for torso boundary, bones, and lungs. The results are still an interesting comparison.
=== Images ===
[[Image:mc-body.png]]
[[Image:mc-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (1:35 hours) ===
* Number of Tet elements checked = '''14300408'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 14300408 Faces: 29156724 Edges: 17524972 Nodes: 2668657
* Aspect Ratio: Low = 1.00006, Average = 1.06422e+21, High = 1.45221e+28
* Aspect Ratio (gamma): Low = 1.00073, Average = 3.44334e+07, High = 3.81639e+14
* Volume: Low = 3.83988e-19, Average = 1.4405, High = 266.872
* Condition: Low = 1.00005, Average = 1.9262e+07, High = 2.33327e+14
* Jacobian: Low = 2.30393e-18, Average = 8.64298, High = 1601.23
* '''Scaled_Jacobian: Low = 1.40881e-15, Average = 0.37441, High = 0.995652'''
* Shape: Low = 1.90147e-10, Average = 0.635895, High = 0.999953
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
4916
4915
2007-05-24T10:14:33Z
Mjc
35
/* TetGen mesher -pqAAa200.0z (2.5 mins) */
wikitext
text/x-wiki
=afront generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (~3.21 mins) ===
* Number of Tet elements checked = '''4133993'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4133993 Faces: 8292237 Edges: 4860849 Nodes: 702606
* Aspect Ratio: Low = 1.00011, Average = 15.2247, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18738, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96587, High = 267.951
* Condition: Low = 1.00009, Average = 1.74266, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7952, High = 1607.7
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371769, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648091, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (4.42 mins including JoinMesh on each tetvol) ===
* Number of Tet elements checked = '''3415236'''
* Euler characteristics for this mesh indicate 2147483647 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3415236 Faces: 6837477 Edges: 3997659 Nodes: 575422
* Aspect Ratio: Low = 1.00002, Average = 1.32974, High = 1553.55
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37102, High = 74.7166
* Volume: Low = 3.23703e-06, Average = 6.01067, High = 1068.21
* Condition: Low = 1.00002, Average = 1.24125, High = 56.6776
* Jacobian: Low = 1.94222e-05, Average = 36.064, High = 6409.24
* '''Scaled_Jacobian: Low = 0.0070007, Average = 0.618421, High = 0.997181'''
* Shape: Low = 0.0563958, Average = 0.829903, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=marching cubes (SCIRun isosurface module) generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
At this time I cannot get a FE mesh generated including the Heart surface, (probably because the heart surface intersects the lungs somewhere) but below are the results for torso boundary, bones, and lungs. The results are still an interesting comparison.
=== Images ===
[[Image:mc-body.png]]
[[Image:mc-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (1:35 hours) ===
* Number of Tet elements checked = '''14300408'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 14300408 Faces: 29156724 Edges: 17524972 Nodes: 2668657
* Aspect Ratio: Low = 1.00006, Average = 1.06422e+21, High = 1.45221e+28
* Aspect Ratio (gamma): Low = 1.00073, Average = 3.44334e+07, High = 3.81639e+14
* Volume: Low = 3.83988e-19, Average = 1.4405, High = 266.872
* Condition: Low = 1.00005, Average = 1.9262e+07, High = 2.33327e+14
* Jacobian: Low = 2.30393e-18, Average = 8.64298, High = 1601.23
* '''Scaled_Jacobian: Low = 1.40881e-15, Average = 0.37441, High = 0.995652'''
* Shape: Low = 1.90147e-10, Average = 0.635895, High = 0.999953
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
4919
4916
2007-05-24T10:24:47Z
Mjc
35
/* TetGen mesher -pqAAa200.0z (~3.21 mins) */
wikitext
text/x-wiki
=afront generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (~3.21 mins) ===
* Number of Tet elements checked = '''4133993'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4133993 Faces: 8292237 Edges: 4860849 Nodes: 702606
* Aspect Ratio: Low = 1.00011, Average = 15.2247, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18738, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96587, High = 267.951
* Condition: Low = 1.00009, Average = 1.74266, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7952, High = 1607.7
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371769, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648091, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
[[Image:Tetgen-tetvol.png]]
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (4.42 mins including JoinMesh on each tetvol) ===
* Number of Tet elements checked = '''3415236'''
* Euler characteristics for this mesh indicate 2147483647 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3415236 Faces: 6837477 Edges: 3997659 Nodes: 575422
* Aspect Ratio: Low = 1.00002, Average = 1.32974, High = 1553.55
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37102, High = 74.7166
* Volume: Low = 3.23703e-06, Average = 6.01067, High = 1068.21
* Condition: Low = 1.00002, Average = 1.24125, High = 56.6776
* Jacobian: Low = 1.94222e-05, Average = 36.064, High = 6409.24
* '''Scaled_Jacobian: Low = 0.0070007, Average = 0.618421, High = 0.997181'''
* Shape: Low = 0.0563958, Average = 0.829903, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=marching cubes (SCIRun isosurface module) generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
At this time I cannot get a FE mesh generated including the Heart surface, (probably because the heart surface intersects the lungs somewhere) but below are the results for torso boundary, bones, and lungs. The results are still an interesting comparison.
=== Images ===
[[Image:mc-body.png]]
[[Image:mc-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (1:35 hours) ===
* Number of Tet elements checked = '''14300408'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 14300408 Faces: 29156724 Edges: 17524972 Nodes: 2668657
* Aspect Ratio: Low = 1.00006, Average = 1.06422e+21, High = 1.45221e+28
* Aspect Ratio (gamma): Low = 1.00073, Average = 3.44334e+07, High = 3.81639e+14
* Volume: Low = 3.83988e-19, Average = 1.4405, High = 266.872
* Condition: Low = 1.00005, Average = 1.9262e+07, High = 2.33327e+14
* Jacobian: Low = 2.30393e-18, Average = 8.64298, High = 1601.23
* '''Scaled_Jacobian: Low = 1.40881e-15, Average = 0.37441, High = 0.995652'''
* Shape: Low = 1.90147e-10, Average = 0.635895, High = 0.999953
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
4920
4919
2007-05-24T10:25:04Z
Mjc
35
/* CAMAL mesher (4.42 mins including JoinMesh on each tetvol) */
wikitext
text/x-wiki
=afront generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
=== Images ===
[[Image:afront-body.png]]
[[Image:afront-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (~3.21 mins) ===
* Number of Tet elements checked = '''4133993'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 4133993 Faces: 8292237 Edges: 4860849 Nodes: 702606
* Aspect Ratio: Low = 1.00011, Average = 15.2247, High = 5.00456e+07
* Aspect Ratio (gamma): Low = 1.00079, Average = 2.18738, High = 12859.1
* Volume: Low = 1.74183e-07, Average = 4.96587, High = 267.951
* Condition: Low = 1.00009, Average = 1.74266, High = 11067.6
* Jacobian: Low = 1.0451e-06, Average = 29.7952, High = 1607.7
* '''Scaled_Jacobian: Low = 6.33094e-05, Average = 0.371769, High = 0.990632'''
* Shape: Low = 0.00182271, Average = 0.648091, High = 0.999912
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
[[Image:Tetgen-tetvol.png]]
=== TetGen mesher -pq1.0AAa200.0z (30 mins) ===
* Number of Tet elements checked = '''12514089'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 12514089 Faces: 25063106 Edges: 14574288 Nodes: 2025272
* Aspect Ratio: Low = 1, Average = 12.8492, High = 7.48795e+07
* Aspect Ratio (gamma): Low = 1.00066, Average = 1.63764, High = 20491.9
* Volume: Low = 1.83958e-08, Average = 1.64046, High = 240.929
* Condition: Low = 1, Average = 1.43677, High = 17421.2
* Jacobian: Low = 1.10375e-07, Average = 9.84277, High = 1445.58
* '''Scaled_Jacobian: Low = 4.80254e-05, Average = 0.541553, High = 0.999044'''
* Shape: Low = 0.00133599, Average = 0.773061, High = 0.999999
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
=== CAMAL mesher (4.42 mins including JoinMesh on each tetvol) ===
* Number of Tet elements checked = '''3415236'''
* Euler characteristics for this mesh indicate 2147483647 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 3415236 Faces: 6837477 Edges: 3997659 Nodes: 575422
* Aspect Ratio: Low = 1.00002, Average = 1.32974, High = 1553.55
* Aspect Ratio (gamma): Low = 1.00069, Average = 1.37102, High = 74.7166
* Volume: Low = 3.23703e-06, Average = 6.01067, High = 1068.21
* Condition: Low = 1.00002, Average = 1.24125, High = 56.6776
* Jacobian: Low = 1.94222e-05, Average = 36.064, High = 6409.24
* '''Scaled_Jacobian: Low = 0.0070007, Average = 0.618421, High = 0.997181'''
* Shape: Low = 0.0563958, Average = 0.829903, High = 0.99998
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
[[Image:Camal-tetvol.png]]
=marching cubes (SCIRun isosurface module) generated surfaces =
'''Note: all statistics regarding the FE Tet meshes are reported from Verdict using the SCIRun bridge to Verdict.'''
At this time I cannot get a FE mesh generated including the Heart surface, (probably because the heart surface intersects the lungs somewhere) but below are the results for torso boundary, bones, and lungs. The results are still an interesting comparison.
=== Images ===
[[Image:mc-body.png]]
[[Image:mc-body-inner.png]]
=== TetGen mesher -pqAAa200.0z (1:35 hours) ===
* Number of Tet elements checked = '''14300408'''
* Euler characteristics for this mesh indicate 0 holes in this block of elements.
<nowiki> (Assumes a single contiguous block of elements.)</nowiki>
* Element counts: Tets: 14300408 Faces: 29156724 Edges: 17524972 Nodes: 2668657
* Aspect Ratio: Low = 1.00006, Average = 1.06422e+21, High = 1.45221e+28
* Aspect Ratio (gamma): Low = 1.00073, Average = 3.44334e+07, High = 3.81639e+14
* Volume: Low = 3.83988e-19, Average = 1.4405, High = 266.872
* Condition: Low = 1.00005, Average = 1.9262e+07, High = 2.33327e+14
* Jacobian: Low = 2.30393e-18, Average = 8.64298, High = 1601.23
* '''Scaled_Jacobian: Low = 1.40881e-15, Average = 0.37441, High = 0.995652'''
* Shape: Low = 1.90147e-10, Average = 0.635895, High = 0.999953
* Shape_Size: Low = 0, Average = 0, High = 0
* Distortion: Low = 1, Average = 1, High = 1
File:Camal-tetvol.png
6
2561
4917
2007-05-24T10:23:10Z
Mjc
35
wikitext
text/x-wiki
File:Tetgen-tetvol.png
6
2562
4918
2007-05-24T10:23:58Z
Mjc
35
wikitext
text/x-wiki
Help:Editing
12
1015
4921
3149
2007-07-02T23:12:58Z
Matthew.jolley@tch.harvard.edu
23
/* Helpful Links */
wikitext
text/x-wiki
= Helpful Links =
[http://meta.wikimedia.org/wiki/Help:Contents#For_editors Media Wiki Editing Help]
[[KidDefib]]
4923
4921
2007-07-02T23:13:51Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
= Helpful Links =
[http://meta.wikimedia.org/wiki/Help:Contents#For_editors Media Wiki Editing Help]
KidDefib
0
2563
4922
2007-07-02T23:13:29Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
Kid Defib Project
----
4924
4922
2007-07-03T02:39:59Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
= KidDefib Project =
----
4925
4924
2007-07-05T20:43:29Z
Matthew.jolley@tch.harvard.edu
23
/* KidDefib Project */
wikitext
text/x-wiki
= KidDefib Project =
----
'''Introduction'''
'''Goals'''
'''Requirements'''
'''Versions'''
KidDefib 1.0
'''Available Torso Models'''
'''Support'''
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are interested in funding it's improvement both on the FEM and model generation sides of the Projects
4926
4925
2007-07-05T20:59:49Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
= KidDefib Project =
----
'''Introduction'''
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Animal models of defibrillation have shown defibrillation with subcutaneous electrodes to be feasible, but little is known about ideal placement or the resulting electric fields. In the past, insertable electrodes have been used to map the epicardium and measure electric fields transmurally in animals but these techniques are expensive, time consuming and not necessarily applicable to human anatomy. Furthermore they do not provide detailed descriptions of the electric field throughout the entire myocardium and can perturb the measured fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
'''Goals'''
*Create an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
'''Requirements'''
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. Ideal machine would be 8 cores and 8GB of RAM in the genre of a Macpro. To run at full resolution you need a 64 bit operating system(Ubuntu 7.04 works well), pending release of OSX Leopard 64 bit for OSX.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
KidDefib 1.0
'''Available Torso Models'''
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
'''Versions'''
KidDefib 1.0
'''
Obtaining KidDefib'''
'''
KidDefib Tutorial'''
'''Support'''
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
4928
4926
2007-07-05T21:03:12Z
Matthew.jolley@tch.harvard.edu
23
/* KidDefib Project */
wikitext
text/x-wiki
= KidDefib Project =
----
'''Introduction'''
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
'''Goals'''
*Create an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
'''Requirements'''
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. Ideal machine would be 8 cores and 8GB of RAM in the genre of a Macpro. To run at full resolution you need a 64 bit operating system(Ubuntu 7.04 works well), pending release of OSX Leopard 64 bit for OSX.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
'''Available Torso Models'''
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
'''Versions'''
KidDefib 1.0
'''Obtaining KidDefib'''
'''KidDefib Installation'''
'''KidDefib Tutorial'''
'''Support'''
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
4929
4928
2007-07-05T21:04:01Z
Matthew.jolley@tch.harvard.edu
23
/* KidDefib Project */
wikitext
text/x-wiki
= KidDefib Project =
----
'''Introduction'''
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
'''Goals'''
*Create an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
'''Requirements'''
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. Ideal machine would be 8 cores and 8GB of RAM in the genre of a Macpro. To run at full resolution you need a 64 bit operating system(Ubuntu 7.04 works well), pending release of OSX Leopard 64 bit for OSX.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
'''Available Torso Models'''
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
'''Versions'''
KidDefib 1.0
'''Obtaining KidDefib'''
'''KidDefib Installation'''
'''KidDefib Tutorial'''
'''Support'''
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
4927
4929
2007-07-05T21:05:01Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
= KidDefib Project =
----
'''Introduction'''
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Animal models of defibrillation have shown defibrillation with subcutaneous electrodes to be feasible, but little is known about ideal placement or the resulting electric fields. In the past, insertable electrodes have been used to map the epicardium and measure electric fields transmurally in animals but these techniques are expensive, time consuming and not necessarily applicable to human anatomy. Furthermore they do not provide detailed descriptions of the electric field throughout the entire myocardium and can perturb the measured fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
'''Goals'''
*Create an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
'''Requirements'''
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. Ideal machine would be 8 cores and 8GB of RAM in the genre of a Macpro. To run at full resolution you need a 64 bit operating system(Ubuntu 7.04 works well), pending release of OSX Leopard 64 bit for OSX.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
'''Available Torso Models'''
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
'''Versions'''
KidDefib 1.0
'''Obtaining KidDefib'''
'''KidDefib Installation'''
'''KidDefib Tutorial'''
'''Support'''
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
4930
4927
2007-07-09T23:50:11Z
Matthew.jolley@tch.harvard.edu
23
/* KidDefib Project */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
'''Goals'''
*Create an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
'''Requirements'''
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. Ideal machine would be 8 cores and 8GB of RAM in the genre of a Macpro. To run at full resolution you need a 64 bit operating system(Ubuntu 7.04 works well), pending release of OSX Leopard 64 bit for OSX.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
'''Available Torso Models'''
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
'''Versions'''
KidDefib 1.0
'''Obtaining KidDefib'''
'''KidDefib Installation'''
'''KidDefib Tutorial'''
'''Support'''
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
4931
4930
2007-07-09T23:51:00Z
Matthew.jolley@tch.harvard.edu
23
/* '''Introduction''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Create an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
'''Requirements'''
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. Ideal machine would be 8 cores and 8GB of RAM in the genre of a Macpro. To run at full resolution you need a 64 bit operating system(Ubuntu 7.04 works well), pending release of OSX Leopard 64 bit for OSX.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
'''Available Torso Models'''
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
'''Versions'''
KidDefib 1.0
'''Obtaining KidDefib'''
'''KidDefib Installation'''
'''KidDefib Tutorial'''
'''Support'''
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
4932
4931
2007-07-09T23:53:57Z
Matthew.jolley@tch.harvard.edu
23
/* '''Goals''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Create an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
===='''Obtaining KidDefib'''====
'''KidDefib Installation'''
'''KidDefib Tutorial'''
<br>
----
===='''Support'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4933
4932
2007-07-09T23:54:22Z
Matthew.jolley@tch.harvard.edu
23
/* '''Obtaining KidDefib''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Create an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
===='''Obtaining and Using KidDefib'''====
'''KidDefib Installation'''
'''KidDefib Tutorial'''
<br>
----
===='''Support'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4934
4933
2007-07-09T23:56:25Z
Matthew.jolley@tch.harvard.edu
23
/* '''Obtaining and Using KidDefib''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Create an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
===='''Obtaining and Using KidDefib'''====
[[KidDefib:KidDefib_Installation]]
[[KidDefib:KidDefib_Tutorial]]
<br>
----
===='''Support'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4935
4934
2007-07-09T23:57:16Z
Matthew.jolley@tch.harvard.edu
23
/* '''Versions''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Create an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Obtaining and Using KidDefib'''====
[[KidDefib:KidDefib_Installation]]
[[KidDefib:KidDefib_Tutorial]]
<br>
----
===='''Support'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4936
4935
2007-07-09T23:58:59Z
Matthew.jolley@tch.harvard.edu
23
/* '''Obtaining and Using KidDefib''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Create an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
<br>
----
===='''Support'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4937
4936
2007-07-10T00:00:57Z
Matthew.jolley@tch.harvard.edu
23
/* '''Installing KidDefib''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Create an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
<br>
----
===='''KidDefib Tutorial'''====
<br>
----
===='''Support'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4938
4937
2007-07-10T00:03:11Z
Matthew.jolley@tch.harvard.edu
23
/* '''Goals''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
<br>
----
===='''KidDefib Tutorial'''====
<br>
----
===='''Support'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4939
4938
2007-07-10T00:07:46Z
Matthew.jolley@tch.harvard.edu
23
/* '''Installing KidDefib''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here]:
Obtain virtual directory by using subversion as described in the link above:
svn co https://code.sci.utah.edu/svn/SCIRun/cibc/branches/virtual-stable
cd into virtual-stable/SCIRun
Run the build script:
<br>
----
===='''KidDefib Tutorial'''====
<br>
----
===='''Support'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4940
4939
2007-07-10T00:15:41Z
Matthew.jolley@tch.harvard.edu
23
/* '''Installing KidDefib''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here]:
Obtain virtual directory by using subversion as described in the link above:
'''<pre>svn co https://code.sci.utah.edu/svn/SCIRun/cibc/branches/virtual-stable</pre>'''
Change into the SCIRun directory:
'''<pre> cd virtual-stable/SCIRun</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores for example:
To download and build the 3.0.2 ITK release and install it to your thirdparty, add the '''--with-itk''' option when running the build script. '''Note:''' building the full ITK takes a great deal of time and may not be necessary for your purposes. For more details on when ITK is needed click <b>[[CIBC:Documentation:SCIRun:Installation:ITK|here]]</b>
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre>cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre>ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
<br>
----
===='''Support'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4941
4940
2007-07-10T00:16:17Z
Matthew.jolley@tch.harvard.edu
23
/* '''Installing KidDefib''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here]:
Obtain virtual directory by using subversion as described in the link above:
'''<pre> svn co https://code.sci.utah.edu/svn/SCIRun/cibc/branches/virtual-stable</pre>'''
Change into the SCIRun directory:
'''<pre> cd virtual-stable/SCIRun</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores for example:
To download and build the 3.0.2 ITK release and install it to your thirdparty, add the '''--with-itk''' option when running the build script. '''Note:''' building the full ITK takes a great deal of time and may not be necessary for your purposes. For more details on when ITK is needed click <b>[[CIBC:Documentation:SCIRun:Installation:ITK|here]]</b>
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre>cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre>ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
<br>
----
===='''Support'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4942
4941
2007-07-10T00:18:04Z
Matthew.jolley@tch.harvard.edu
23
/* '''Installing KidDefib''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here]:
Obtain virtual directory by using subversion as described in the link above:
'''<pre> svn co https://code.sci.utah.edu/svn/SCIRun/cibc/branches/virtual-stable</pre>'''
Change into the SCIRun directory:
'''<pre> cd virtual-stable/SCIRun</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre>cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre>ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
<br>
----
===='''Support'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4943
4942
2007-07-10T00:18:49Z
Matthew.jolley@tch.harvard.edu
23
/* '''Support''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here]:
Obtain virtual directory by using subversion as described in the link above:
'''<pre> svn co https://code.sci.utah.edu/svn/SCIRun/cibc/branches/virtual-stable</pre>'''
Change into the SCIRun directory:
'''<pre> cd virtual-stable/SCIRun</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre>cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre>ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4944
4943
2007-07-10T00:19:52Z
Matthew.jolley@tch.harvard.edu
23
/* '''Installing KidDefib''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here]:
Obtain virtual directory by using subversion as described in the link above:
'''<pre> svn co https://code.sci.utah.edu/svn/SCIRun/cibc/branches/virtual-stable</pre>'''
Change into the SCIRun directory:
'''<pre> cd virtual-stable/SCIRun</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4945
4944
2007-07-10T00:33:31Z
Matthew.jolley@tch.harvard.edu
23
/* '''Installing KidDefib''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here]:
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
Change into the SCIRun directory:
'''<pre> cd virtual-stable/SCIRun</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4946
4945
2007-07-10T00:37:13Z
Matthew.jolley@tch.harvard.edu
23
/* '''Installing KidDefib''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
''Normal Anatomy''
2 year old-12 kg female
10 year old-32kg male
29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here]:
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4947
4946
2007-07-10T00:38:59Z
Matthew.jolley@tch.harvard.edu
23
/* '''Available Torso Models''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here]:
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4948
4947
2007-07-10T01:28:33Z
Matthew.jolley@tch.harvard.edu
23
/* '''KidDefib Tutorial''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here]:
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
You now have SCIRun working and need to download the data and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4949
4948
2007-07-10T01:36:32Z
Matthew.jolley@tch.harvard.edu
23
/* '''Installing KidDefib''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here].
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
You now have SCIRun working and need to download the data and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4950
4949
2007-07-10T01:41:08Z
Matthew.jolley@tch.harvard.edu
23
/* '''KidDefib Tutorial''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here].
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
To get a sense of how to utilize SCIRun in general please explore the SCIRun documentation. This tutorial is focused on how to utilize KidDefib and familiarity with SCIRun is assumed.
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Manual SCIRun Manual]
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Tutorial:BioPSE SCIRun FEM Tutorial]
Once familiar with SCIRUn download to download the KidDefib torsos and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC.
<br>
----
4951
4950
2007-07-10T01:43:33Z
Matthew.jolley@tch.harvard.edu
23
/* '''Support KidDefib Development''' */
wikitext
text/x-wiki
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here].
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
To get a sense of how to utilize SCIRun in general please explore the SCIRun documentation. This tutorial is focused on how to utilize KidDefib and familiarity with SCIRun is assumed.
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Manual SCIRun Manual]
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Tutorial:BioPSE SCIRun FEM Tutorial]
Once familiar with SCIRUn download to download the KidDefib torsos and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC or donate at the link below specifying KidDefib as the project you would like to support.
[http://www.sci.utah.edu/support.html Donate]
<br>
----
KidDefib
0
2563
4952
4951
2007-07-10T03:19:18Z
Matthew.jolley@tch.harvard.edu
23
/* '''Introduction''' */
wikitext
text/x-wiki
----
===='''People'''====
Matthew Jolley, Jeroen Stinstra, David Weinstein, Martin Cole, Michael Callahan, Steve Pieper, Dana Brooks, Frank Cecchin, John Triedman, Rob Maclod,
<br>
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here].
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
To get a sense of how to utilize SCIRun in general please explore the SCIRun documentation. This tutorial is focused on how to utilize KidDefib and familiarity with SCIRun is assumed.
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Manual SCIRun Manual]
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Tutorial:BioPSE SCIRun FEM Tutorial]
Once familiar with SCIRUn download to download the KidDefib torsos and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC or donate at the link below specifying KidDefib as the project you would like to support.
[http://www.sci.utah.edu/support.html Donate]
<br>
----
4953
4952
2007-07-10T03:19:55Z
Matthew.jolley@tch.harvard.edu
23
/* '''People''' */
wikitext
text/x-wiki
----
<br>
----
===='''People'''====
Matthew Jolley, Jeroen Stinstra, David Weinstein, Martin Cole, Michael Callahan, Steve Pieper, Dana Brooks, Frank Cecchin, John Triedman, Rob Maclod,
<br>
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here].
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
To get a sense of how to utilize SCIRun in general please explore the SCIRun documentation. This tutorial is focused on how to utilize KidDefib and familiarity with SCIRun is assumed.
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Manual SCIRun Manual]
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Tutorial:BioPSE SCIRun FEM Tutorial]
Once familiar with SCIRUn download to download the KidDefib torsos and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC or donate at the link below specifying KidDefib as the project you would like to support.
[http://www.sci.utah.edu/support.html Donate]
<br>
----
4954
4953
2007-07-10T03:21:14Z
Matthew.jolley@tch.harvard.edu
23
/* '''People''' */
wikitext
text/x-wiki
----
<br>
----
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here].
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
To get a sense of how to utilize SCIRun in general please explore the SCIRun documentation. This tutorial is focused on how to utilize KidDefib and familiarity with SCIRun is assumed.
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Manual SCIRun Manual]
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Tutorial:BioPSE SCIRun FEM Tutorial]
Once familiar with SCIRUn download to download the KidDefib torsos and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC or donate at the link below specifying KidDefib as the project you would like to support.
[http://www.sci.utah.edu/support.html Donate]
<br>
----
4955
4954
2007-07-10T03:21:45Z
Matthew.jolley@tch.harvard.edu
23
wikitext
text/x-wiki
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''People'''====
Matthew Jolley, Jeroen Stinstra, David Weinstein, Martin Cole, Michael Callahan, Steve Pieper, Dana Brooks, Frank Cecchin, John Triedman, Rob Maclod,
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here].
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
To get a sense of how to utilize SCIRun in general please explore the SCIRun documentation. This tutorial is focused on how to utilize KidDefib and familiarity with SCIRun is assumed.
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Manual SCIRun Manual]
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Tutorial:BioPSE SCIRun FEM Tutorial]
Once familiar with SCIRUn download to download the KidDefib torsos and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC or donate at the link below specifying KidDefib as the project you would like to support.
[http://www.sci.utah.edu/support.html Donate]
<br>
----
4956
4955
2007-07-10T03:24:58Z
Matthew.jolley@tch.harvard.edu
23
/* '''People''' */
wikitext
text/x-wiki
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''People'''====
'''Department of Cardiology, Children's Hospital Boston'''
Matthew Jolley, Frank Cecchin, John Triedman
'''
CIBC, Scientific Computing and Imaging Institute'''
Jeroen Stinstra, David Weinstein, Michael Callahan, Martin Cole, Rob Macleod, Dana Brooks
Surgical Planning Laboratory
Steve Pieper, Gordon Kindlmann, PhD
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here].
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
To get a sense of how to utilize SCIRun in general please explore the SCIRun documentation. This tutorial is focused on how to utilize KidDefib and familiarity with SCIRun is assumed.
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Manual SCIRun Manual]
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Tutorial:BioPSE SCIRun FEM Tutorial]
Once familiar with SCIRUn download to download the KidDefib torsos and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC or donate at the link below specifying KidDefib as the project you would like to support.
[http://www.sci.utah.edu/support.html Donate]
<br>
----
4957
4956
2007-07-10T03:27:43Z
Matthew.jolley@tch.harvard.edu
23
/* '''People''' */
wikitext
text/x-wiki
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''People'''====
''Department of Cardiology, Children's Hospital Boston'': Matthew Jolley, Frank Cecchin, John Triedman
''CIBC, Scientific Computing and Imaging Institute'': Jeroen Stinstra, David Weinstein, Michael Callahan, Martin Cole, Rob Macleod, Dana Brooks
''Surgical Planning Laboratory'': Steve Pieper, Gordon Kindlmann, PhD
<br>
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here].
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
To get a sense of how to utilize SCIRun in general please explore the SCIRun documentation. This tutorial is focused on how to utilize KidDefib and familiarity with SCIRun is assumed.
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Manual SCIRun Manual]
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Tutorial:BioPSE SCIRun FEM Tutorial]
Once familiar with SCIRUn download to download the KidDefib torsos and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC or donate at the link below specifying KidDefib as the project you would like to support.
[http://www.sci.utah.edu/support.html Donate]
<br>
----
4958
4957
2007-07-10T03:28:09Z
Matthew.jolley@tch.harvard.edu
23
/* '''People''' */
wikitext
text/x-wiki
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''People'''====
''Department of Cardiology, Children's Hospital Boston'': Matthew Jolley, Frank Cecchin, John Triedman
''CIBC, Scientific Computing and Imaging Institute'': Jeroen Stinstra, David Weinstein, Michael Callahan, Martin Cole, Rob Macleod, Dana Brooks
''Surgical Planning Laboratory'': Steve Pieper
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here].
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
To get a sense of how to utilize SCIRun in general please explore the SCIRun documentation. This tutorial is focused on how to utilize KidDefib and familiarity with SCIRun is assumed.
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Manual SCIRun Manual]
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Tutorial:BioPSE SCIRun FEM Tutorial]
Once familiar with SCIRUn download to download the KidDefib torsos and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC or donate at the link below specifying KidDefib as the project you would like to support.
[http://www.sci.utah.edu/support.html Donate]
<br>
----
4959
4958
2007-07-10T03:34:20Z
Matthew.jolley@tch.harvard.edu
23
/* '''KidDefib Tutorial''' */
wikitext
text/x-wiki
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''People'''====
''Department of Cardiology, Children's Hospital Boston'': Matthew Jolley, Frank Cecchin, John Triedman
''CIBC, Scientific Computing and Imaging Institute'': Jeroen Stinstra, David Weinstein, Michael Callahan, Martin Cole, Rob Macleod, Dana Brooks
''Surgical Planning Laboratory'': Steve Pieper
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here].
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
To get a sense of how to utilize SCIRun in general please explore the SCIRun documentation. This tutorial is focused on how to utilize KidDefib and familiarity with SCIRun is assumed.
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Manual SCIRun Manual]
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Tutorial:BioPSE SCIRun FEM Tutorial]
Once familiar with SCIRUn download to download the KidDefib torsos and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Getting Help'''====
This is currently a small project to make available a resource created to determine optimal electrode position for ICD placement in children. Due to time constrainst support is limited, but feel welcome to subscribe to the SCIRun users list if you run into trouble.
[http://software.sci.utah.edu/mailinglists.html Subscribe to SCIRun Users List]
We plan to have several hands on tutorials in the Boston and Salt Lake City areas for those seriously interested in utilizing the software later in 2007.
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC or donate at the link below specifying KidDefib as the project you would like to support.
[http://www.sci.utah.edu/support.html Donate]
<br>
----
4960
4959
2007-07-10T03:38:22Z
Matthew.jolley@tch.harvard.edu
23
/* '''Getting Help''' */
wikitext
text/x-wiki
===='''Introduction'''====
Implantable cardiac defibrillators (ICDs) are widely used in patients at risk of fatal cardiac arrhythmias, and indications for their use continue to expand. Although ICDs are routinely implanted in adult patients using a transvenous system, there is a growing population of pediatric and adult patients in whom transvenous ICD systems cannot or should not be implanted. These include very small patients and those with intracardiac shunts or anatomical obstruction to lead placement.
In these groups, several novel, non-transvenous approaches to ICD implantation have been reported. Such approaches have consisted of ad hoc adaptations of existing ICD systems, with the goals of minimizing system invasiveness, adapting to complex anatomy, and achieving low defibrillation thresholds. These approaches assume efficacy by extrapolation from limited animal research, andpost-implantation assessment of defibrillation thresholds (DFTs). Although defibrillation research has elucidated reasonably accurate relations between distribution of myocardial voltage gradient and both defibrillation efficacy and myocardial injury, no reports currently describe the effects of interactions between variations in body size and novel ICD geometries on these fields.
Finite element modeling (FEM) of defibrillation has been shown to correlate well with clinically observed DFTs in laboriously constructed conductivity models of the adult torso. These studies have shown the utility of realistic models to accurately predict threshold voltages, currents, and impedances, as well as the electric fields voltages at known measurement locations within a torso model. They also may be used to compare the relative efficacy of electrode orientations in a given torso model. The demands of extending these studies to highly variable electrode design and placement, not to mention body size, habitus and possible gross anatomical variability, mean that such simulation systems need to allow more automatic model creation, interactive electrode placement, a wide variety of electrodes, interactive execution of the simulations, and visualization of the results. The goal of this project is the creation of an open-source subject-specific, image-based finite element modeling software environment with the goal of enabling determination of optimal electrode placement in special populations of adults and children.
<br>
----
===='''People'''====
''Department of Cardiology, Children's Hospital Boston'': Matthew Jolley, Frank Cecchin, John Triedman
''CIBC, Scientific Computing and Imaging Institute'': Jeroen Stinstra, David Weinstein, Michael Callahan, Martin Cole, Rob Macleod, Dana Brooks
''Surgical Planning Laboratory'': Steve Pieper
----
===='''Goals'''====
*Continue to improve an open-source toolkit for modeling of ICD electrode placement in image based torso models
*Continue to improve usability and functionality of modeling environment
*Continue to expand number of available modeling torsos
<br>
----
===='''Requirements'''====
*Currently the project supports OSX and linux (Ubuntu/Fedora) with no immediate plans to support Windows
*Runs best with at least 2 cores and 4 GB of RAM. To run at full resolution you need a 64 bit operating system and 4-6 GB of RAM.
*Currently we utilize MATLAB for a few steps within the primarily open-source environment. We have used versions as far back as 2005 without difficulty. We are working to eliminate this requirement.
<br>
----
===='''Available Torso Models'''====
Torso models segmented in 3D Slicer and combined using Teem. For instructions on how to make your own follow this link.
''Normal Anatomy''
2 year old-12 kg female, 10 year old-32kg male, 29 year old-75kg male
''Congenital Heart Disease''
Pending release
<br>
----
===='''Versions'''====
KidDefib 1.0
<br>
----
===='''Installing KidDefib'''====
To begin review the general SCIRun installation procedures described [http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Installation:Unix-v3.0.2 here].
Obtain virtual directory by using subversion as described in the link above:
'''<pre> fillin path</pre>'''
To build SCIRun using the build script run the following commands in your terminal:
1) Cd into the SCIRun directory
'''<pre> cd SCIRun</pre>'''
2) Execute the build script, specifying the number of cores you have in your machine to optimize build times(optional).
For a single core build use:
'''<pre> ./build.sh</pre>'''
OR for a multi core build use -jx where x is the number of cores.
For more options regarding the build script, users can type:
'''<pre> ./build.sh --help</pre>'''
This script will download cmake if needed, build SCIRun Thirdparty in the thirdparty.bin directory, configure SCIRun using cmake, build SCIRun, and submit results as an Experimental build to the [http://dashboards.sci.utah.edu:8081/SCIRUN_CORE/Dashboard/ SCIRun Core Dashboard]
Finally build the components you need from the the new ModelCreation directory by changing into the /SCIRun/bin directory:
'''<pre> cd bin</pre>'''
Then use ccmake to reconfigure the build process:
'''<pre> ccmake ../src</pre>'''
<br>
----
===='''KidDefib Tutorial'''====
To get a sense of how to utilize SCIRun in general please explore the SCIRun documentation. This tutorial is focused on how to utilize KidDefib and familiarity with SCIRun is assumed.
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Manual SCIRun Manual]
[http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Tutorial:BioPSE SCIRun FEM Tutorial]
Once familiar with SCIRUn download to download the KidDefib torsos and basic modeling networks. To obtain these files download the file here.
When you unpack the file you will note a directory structure which looks like:
The process of modeling the fields created by ICD electrodes is broken into 3 parts:
1. Placement of up to four electrodes and a active can in a torso model using a electrode placement net. The result of this is saved out into a bundle (.bdl file) which can be subsequently imported by the next step.
Link to Flash Movie of Placement
2. FEM modeling by assigning appropriate dirichlet conditions to the electrodes and orientations based on a given orientation bundle. This step calculates metrics and automatically generates useful graphs. It also generates a basic visualization showing the external voltage distributation as well as the electrode locations within the torso. The results are saved as bundles which can be subsequently visualized in more detail if desired.
Link to Flash Movie of Modeling
3. The third net allows visualization of the resulting voltage gradients and interaction with the data in real time using the saved output bundles from the FEM step.
Link to Flash Movie of Visualization
<br>
----
===='''Getting Help'''====
This is currently a small project to make available a resource created to determine optimal electrode position for ICD placement in children. Due to time constrainst support is limited, but feel welcome to subscribe to the SCIRun users list if you run into trouble.
[http://software.sci.utah.edu/mailinglists.html Subscribe to SCIRun Users List]
We plan to have several hands on tutorials in the Boston and Salt Lake City areas for those seriously interested in utilizing the software later in 2007. If you are in industry and interested in supporting development of this open-source software please contact the [http://www.sci.utah.edu/cibc/personnel/macleod.html Rob Macleod] or [http://www.sci.utah.edu/cibc/personnel/brooks.html Dana Brooks] at the CIBC and see below.
<br>
----
===='''Support KidDefib Development'''====
KidDefib is a SCIRun-based open-source project whose development depends on NIH and industrial funding for it's improvement and continuation. If you utilize KidDefib or are a industrial contact interested in funding it's improvement both on the FEM and model generation sides of the project please contact the CIBC or donate at the link below specifying KidDefib as the project you would like to support.
[http://www.sci.utah.edu/support.html Donate]
<br>
----
Main Page
0
1
4961
4910
2007-08-06T20:45:53Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
[[Exec:Test_Page]]
4963
4961
2007-08-06T20:49:11Z
Erikj
2
/* Executive Materials */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4964
4963
2007-08-06T20:51:23Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4965
4964
2007-08-06T20:53:01Z
Erikj
2
/* Materials */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Materials ==
Here is an example restricted page.
4966
4965
2007-08-06T20:53:39Z
Erikj
2
/* Materials */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4967
4966
2007-08-06T20:54:05Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki!! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4968
4967
2007-08-06T20:55:29Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4969
4968
2007-08-06T20:56:47Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4970
4969
2007-08-06T21:21:52Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4971
4970
2007-08-06T21:22:32Z
Erikj
2
/* Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4974
4971
2007-08-06T21:36:15Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
<br>
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4975
4974
2007-08-07T19:02:43Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4976
4975
2007-08-07T19:03:45Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4977
4976
2007-08-07T19:17:04Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki!! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4978
4977
2007-08-07T19:24:10Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4979
4978
2007-08-07T19:26:38Z
Test
48
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki!! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4980
4979
2007-08-07T19:27:25Z
Test
48
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Here is an example restricted page.
[[Exec:Test_Page]]
4981
4980
2007-08-07T19:32:53Z
Erikj
2
/* Executive Materials */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Here is an example restricted page..
[[Exec:Test_Page]]
4982
4981
2007-08-07T19:34:19Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
==Seg3D==
Seg3D Alpha 1.0 was released with SCIRun 3.0.0 on December 22, 2006.
To be informed of updates on its status, please [http://www.sci.utah.edu/cgi-bin/CIBC_mailinglist_req.pl signup for the Seg3D email list]
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
This is an example restricted page:
[[Exec:Test_Page]]
4983
4982
2007-08-08T03:54:11Z
Macleod
3
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
This is an example restricted page:
[[Exec:Test_Page]]
4984
4983
2007-08-08T13:54:28Z
Macleod
3
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[CIBC:Exec]]
4986
4984
2007-08-08T16:55:09Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[CIBC:Exec]]
[[Exec:Executive Content]]
4987
4986
2007-08-08T16:55:54Z
Erikj
2
/* Executive Materials */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[CIBC:Exec]]
[[Exec:CIBC Exec Area]]
4989
4987
2007-08-08T16:57:14Z
Erikj
2
/* Executive Materials */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
Exec:Test Page
100
2564
4962
2007-08-06T20:46:12Z
Erikj
2
wikitext
text/x-wiki
This is a test page.
CIBC:Workshops:Workshop06
0
1021
4972
3155
2007-08-06T21:28:44Z
Erikj
2
/* Participant Summaries */
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
Contact list [[Workshop06-attendees.pdf]]
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop..
[[CIBC:Workshops:Workshop06:summ-bahadur|Ali Bahadur (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-blackman|Barron Blackman (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-butson|Chris Butson* (Cleveland Clinic)]]
[[CIBC:Workshops:Workshop06:summ-boverman|Greg Boverman* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-dalal|Sarang Dalal* (UCSF) ]]
[[CIBC:Workshops:Workshop06:summ-hyde|Damon Hyde* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-jones|Bryan Jones (UofU)]]
[[CIBC:Workshops:Workshop06:summ-kerckhoffs|Roy Kerckhoffs* (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-kim|Sohee Kim (UofU)]]
[[CIBC:Workshops:Workshop06:summ-makeig|Scott Makeig (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-marc|Robert Marc (UofU)]]
[[CIBC:Workshops:Workshop06:summ-moreno|Alonso Moreno (UofU)]]
[[CIBC:Workshops:Workshop06:summ-nevell|Lisa Nevell (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-ramirez|Rey Ramirez (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-schindler|Dan Schindler* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp* (MGH)]]
[[CIBC:Workshops:Workshop06:summ-shi|Wendy Shi (UofU)]]
[[CIBC:Workshops:Workshop06:summ-svendsen|Mark Svendsen* (IUPUI)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-vasquez|Sergio Vasquez (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield* (Harvard)]]
[[CIBC:Workshops:Workshop06:summ-weber|Darren Weber* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer* (IUSB, Indiana U)]]
[[CIBC:Workshops:Workshop06:summ-wolfgang|John Wolfgang (MGH)]]
[[CIBC:Workshops:Workshop06:summ-zafiris|Vasilis Zafiris (UHD Houston)]]
4973
4972
2007-08-06T21:30:18Z
Erikj
2
/* Participant Summaries */
wikitext
text/x-wiki
== NCRR Workshop, April 20/21, 2006 ==
== Logistics==
== Participants ==
Contact list [[Workshop06-attendees.pdf]]
===Participant Summaries===
Summaries of the background and interests of each participant in the workshop.
[[CIBC:Workshops:Workshop06:summ-bahadur|Ali Bahadur (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-blackman|Barron Blackman (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-butson|Chris Butson* (Cleveland Clinic)]]
[[CIBC:Workshops:Workshop06:summ-boverman|Greg Boverman* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-dalal|Sarang Dalal* (UCSF) ]]
[[CIBC:Workshops:Workshop06:summ-hyde|Damon Hyde* (NEU)]]
[[CIBC:Workshops:Workshop06:summ-jones|Bryan Jones (UofU)]]
[[CIBC:Workshops:Workshop06:summ-kerckhoffs|Roy Kerckhoffs* (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-kim|Sohee Kim (UofU)]]
[[CIBC:Workshops:Workshop06:summ-makeig|Scott Makeig (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-marc|Robert Marc (UofU)]]
[[CIBC:Workshops:Workshop06:summ-moreno|Alonso Moreno (UofU)]]
[[CIBC:Workshops:Workshop06:summ-nevell|Lisa Nevell (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-ramirez|Rey Ramirez (UCSD)]]
[[CIBC:Workshops:Workshop06:summ-schindler|Dan Schindler* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-sharp|Greg Sharp* (MGH)]]
[[CIBC:Workshops:Workshop06:summ-shi|Wendy Shi (UofU)]]
[[CIBC:Workshops:Workshop06:summ-svendsen|Mark Svendsen* (IUPUI)]]
[[CIBC:Workshops:Workshop06:summ-taylor|Darci Taylor (UofU)]]
[[CIBC:Workshops:Workshop06:summ-vasquez|Sergio Vasquez (UT San Antonio)]]
[[CIBC:Workshops:Workshop06:summ-warfield|Simon Warfield* (Harvard)]]
[[CIBC:Workshops:Workshop06:summ-weber|Darren Weber* (UCSF)]]
[[CIBC:Workshops:Workshop06:summ-wolfer|James Wolfer* (IUSB, Indiana U)]]
[[CIBC:Workshops:Workshop06:summ-wolfgang|John Wolfgang (MGH)]]
[[CIBC:Workshops:Workshop06:summ-zafiris|Vasilis Zafiris (UHD Houston)]]
Exec:CIBC Exec Area
100
2566
4988
2007-08-08T16:56:47Z
Erikj
2
wikitext
text/x-wiki
== CIBC Exec Area ==
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
===Review of Collaborations===
* [[Exec:CollabRev_Henriquez|Craig Henriquez]]
* [[Exec:CollabRev_Triedman|John Triedman]]
4990
4988
2007-08-08T17:06:43Z
Erikj
2
wikitext
text/x-wiki
== CIBC Exec Area ==
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
* [[Exec:CollabRev_Henriquez|Craig Henriquez]]
* [[Exec:CollabRev_Triedman|John Triedman]]
4991
4990
2007-08-08T17:07:31Z
Erikj
2
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
* [[Exec:CollabRev_Henriquez|Craig Henriquez]]
* [[Exec:CollabRev_Triedman|John Triedman]]
4992
4991
2007-08-09T22:09:41Z
Erikj
2
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
* [[Exec:CollabRev_Henriquez|Craig Henriquez]]
* [[Exec:CollabRev_Triedman|John Triedman]]
[[latex2wiki_test]]
4994
4992
2007-08-09T22:12:05Z
Erikj
2
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
* [[Exec:CollabRev_Henriquez|Craig Henriquez]]
* [[Exec:CollabRev_Triedman|John Triedman]]
[[Exec:latex2wiki_test]]
Exec:CollabRev Henriquez
100
2569
4996
2007-08-10T00:30:44Z
Erikj
2
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
** Brief summary of goals (in simple terms):<br>
Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
** Translational potential:<br>
High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
** Current state of the science/experiments:<br>
Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
** Implementation of cellular/ionic models
** Incorporation of Cardiowave capabilities into SCIRun
** Development of high performance solvers for systems of ODEs/PDEs
** Development of meshing approaches for cell/tissue scale
=== Papers: ===
** Progress to date:<br>2 journal papers in 2005[?, ?] 1 in 2007 [?]
** CinC paper 2006
** Several conference talks that acknowledge our part
** In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
** In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
** Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
No concrete plans yet
== Grants: ==
** Progress to date: existing grant, NIH software due to run out in March 2008
** In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
** Planned for the future (include time lines)
== Software development: ==
** Description of the tasks:
### Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
### Segmentation and mesh generation tools for creating models of multiple cells from
confocal microscopy
### Segmentation and mesh generation tools for torso/heart models
### Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun
discussion
** Progress to date:
### Automated generation of realistic (but not based on specific data) meshes.
### Propagation software in usable state
### Running simulations for cardiac tissue to look for the influence anisotropy
### Basic interface for running tissue type simulations, but currently specific to that
scale and works only with one CardioWave configuration
** In the works (include time lines)
### Fixing SCIRun so it will visualize small data sets and will not do random epsilon
choices (1 week)
### Nothing planned after that – we are running simulations and cases and will focus
on producing papers. Work on papers/simulations etc (4 months)
### Small bug fixes (1 week)
** Planned for the future (include time lines)
### Need segmentation/meshing software (multiple years)
### We need a decision on what direction will be: tissue scale OR whole heart scale.
Mesh types, Segmentation, parameters one wants to change in simulations etc are
different for both cases, making it general will create an awfully complicated interface.
### We need a decision on what software strategy for simulations: CardioWave (inflexible,
need to code new interface for almost every type of simulation) OR SCIRun
(Non-existent currently, needs to be developed)
### We need a decision on which kinds of architectures to support: Clusters/MPI OR
Shared-memory/Multi-Core machines. Our current MPI implementation has so
much communication overhead that in practice we are running it on multi-core
machines, hence why not go all the way?
### Research questions we want to answer for simulations: do we want afib simulations
(adaptive meshing would be nice in this case), OR do we want to look at propagation
and local potential gradients (adaptive timestepping is better for this), etc.
### Concerning tissue modeling we need to run many simulations and analyze them, no
major software development.
** Potential for the future (i.e., as yet unplanned activities)
### Merging of Cardiowave with SCIRun, which would greatly expand both our reach
and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
** Other potential users, by name and by generic target group:
### <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
** Science cone of influence (who will benefit from the science):
### Substantial part of EP community, depending on eventual scope of the results.
** Development cone of influence (who will beneifit from the development, including numbers):
### Most of the software pieces developed for this project were reused in Triedman
collaboration (1 user). Completely different simulations that still share a lot of code
base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
## This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
## However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
** From the CIBC: Jeroen (40%), plus some bug fixing from developers
** From the collaborator: one graduate student (50% Sarah)
** From other sources: none
== Needs : ==
** Urgent:
*** Jeroen’s time (to do the science and evaluate the tools and write the papers)
*** Need to scale vis elements down in physical space to handle there data.
** Middle term (include time lines)
*** If we wanted to distribute the full code, would reqiure substantial additional resources
*** Tissue modeling: need segmentation and mesh generation
** Long term (include time lines)
== Organizational infrastructure : ==
** How is group organized:
###. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
** How does interaction happen, e.g., meetings, how often, who involved
### Jeroen has semi-regular T-con meetings with Craig
### Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
** Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
4997
4996
2007-08-10T00:31:14Z
Erikj
2
/* Scientific goals and state of the collaborative research: */
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
* Brief summary of goals (in simple terms):<br>
Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
* Translational potential:<br>
High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
* Current state of the science/experiments:<br>
Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
** Implementation of cellular/ionic models
** Incorporation of Cardiowave capabilities into SCIRun
** Development of high performance solvers for systems of ODEs/PDEs
** Development of meshing approaches for cell/tissue scale
=== Papers: ===
** Progress to date:<br>2 journal papers in 2005[?, ?] 1 in 2007 [?]
** CinC paper 2006
** Several conference talks that acknowledge our part
** In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
** In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
** Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
No concrete plans yet
== Grants: ==
** Progress to date: existing grant, NIH software due to run out in March 2008
** In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
** Planned for the future (include time lines)
== Software development: ==
** Description of the tasks:
### Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
### Segmentation and mesh generation tools for creating models of multiple cells from
confocal microscopy
### Segmentation and mesh generation tools for torso/heart models
### Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun
discussion
** Progress to date:
### Automated generation of realistic (but not based on specific data) meshes.
### Propagation software in usable state
### Running simulations for cardiac tissue to look for the influence anisotropy
### Basic interface for running tissue type simulations, but currently specific to that
scale and works only with one CardioWave configuration
** In the works (include time lines)
### Fixing SCIRun so it will visualize small data sets and will not do random epsilon
choices (1 week)
### Nothing planned after that – we are running simulations and cases and will focus
on producing papers. Work on papers/simulations etc (4 months)
### Small bug fixes (1 week)
** Planned for the future (include time lines)
### Need segmentation/meshing software (multiple years)
### We need a decision on what direction will be: tissue scale OR whole heart scale.
Mesh types, Segmentation, parameters one wants to change in simulations etc are
different for both cases, making it general will create an awfully complicated interface.
### We need a decision on what software strategy for simulations: CardioWave (inflexible,
need to code new interface for almost every type of simulation) OR SCIRun
(Non-existent currently, needs to be developed)
### We need a decision on which kinds of architectures to support: Clusters/MPI OR
Shared-memory/Multi-Core machines. Our current MPI implementation has so
much communication overhead that in practice we are running it on multi-core
machines, hence why not go all the way?
### Research questions we want to answer for simulations: do we want afib simulations
(adaptive meshing would be nice in this case), OR do we want to look at propagation
and local potential gradients (adaptive timestepping is better for this), etc.
### Concerning tissue modeling we need to run many simulations and analyze them, no
major software development.
** Potential for the future (i.e., as yet unplanned activities)
### Merging of Cardiowave with SCIRun, which would greatly expand both our reach
and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
** Other potential users, by name and by generic target group:
### <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
** Science cone of influence (who will benefit from the science):
### Substantial part of EP community, depending on eventual scope of the results.
** Development cone of influence (who will beneifit from the development, including numbers):
### Most of the software pieces developed for this project were reused in Triedman
collaboration (1 user). Completely different simulations that still share a lot of code
base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
## This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
## However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
** From the CIBC: Jeroen (40%), plus some bug fixing from developers
** From the collaborator: one graduate student (50% Sarah)
** From other sources: none
== Needs : ==
** Urgent:
*** Jeroen’s time (to do the science and evaluate the tools and write the papers)
*** Need to scale vis elements down in physical space to handle there data.
** Middle term (include time lines)
*** If we wanted to distribute the full code, would reqiure substantial additional resources
*** Tissue modeling: need segmentation and mesh generation
** Long term (include time lines)
== Organizational infrastructure : ==
** How is group organized:
###. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
** How does interaction happen, e.g., meetings, how often, who involved
### Jeroen has semi-regular T-con meetings with Craig
### Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
** Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
4998
4997
2007-08-10T00:32:28Z
Erikj
2
/* Scientific goals and state of the collaborative research: */
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
** Implementation of cellular/ionic models
** Incorporation of Cardiowave capabilities into SCIRun
** Development of high performance solvers for systems of ODEs/PDEs
** Development of meshing approaches for cell/tissue scale
=== Papers: ===
** Progress to date:<br>2 journal papers in 2005[?, ?] 1 in 2007 [?]
** CinC paper 2006
** Several conference talks that acknowledge our part
** In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
** In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
** Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
No concrete plans yet
== Grants: ==
** Progress to date: existing grant, NIH software due to run out in March 2008
** In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
** Planned for the future (include time lines)
== Software development: ==
** Description of the tasks:
### Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
### Segmentation and mesh generation tools for creating models of multiple cells from
confocal microscopy
### Segmentation and mesh generation tools for torso/heart models
### Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun
discussion
** Progress to date:
### Automated generation of realistic (but not based on specific data) meshes.
### Propagation software in usable state
### Running simulations for cardiac tissue to look for the influence anisotropy
### Basic interface for running tissue type simulations, but currently specific to that
scale and works only with one CardioWave configuration
** In the works (include time lines)
### Fixing SCIRun so it will visualize small data sets and will not do random epsilon
choices (1 week)
### Nothing planned after that – we are running simulations and cases and will focus
on producing papers. Work on papers/simulations etc (4 months)
### Small bug fixes (1 week)
** Planned for the future (include time lines)
### Need segmentation/meshing software (multiple years)
### We need a decision on what direction will be: tissue scale OR whole heart scale.
Mesh types, Segmentation, parameters one wants to change in simulations etc are
different for both cases, making it general will create an awfully complicated interface.
### We need a decision on what software strategy for simulations: CardioWave (inflexible,
need to code new interface for almost every type of simulation) OR SCIRun
(Non-existent currently, needs to be developed)
### We need a decision on which kinds of architectures to support: Clusters/MPI OR
Shared-memory/Multi-Core machines. Our current MPI implementation has so
much communication overhead that in practice we are running it on multi-core
machines, hence why not go all the way?
### Research questions we want to answer for simulations: do we want afib simulations
(adaptive meshing would be nice in this case), OR do we want to look at propagation
and local potential gradients (adaptive timestepping is better for this), etc.
### Concerning tissue modeling we need to run many simulations and analyze them, no
major software development.
** Potential for the future (i.e., as yet unplanned activities)
### Merging of Cardiowave with SCIRun, which would greatly expand both our reach
and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
** Other potential users, by name and by generic target group:
### <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
** Science cone of influence (who will benefit from the science):
### Substantial part of EP community, depending on eventual scope of the results.
** Development cone of influence (who will beneifit from the development, including numbers):
### Most of the software pieces developed for this project were reused in Triedman
collaboration (1 user). Completely different simulations that still share a lot of code
base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
## This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
## However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
** From the CIBC: Jeroen (40%), plus some bug fixing from developers
** From the collaborator: one graduate student (50% Sarah)
** From other sources: none
== Needs : ==
** Urgent:
*** Jeroen’s time (to do the science and evaluate the tools and write the papers)
*** Need to scale vis elements down in physical space to handle there data.
** Middle term (include time lines)
*** If we wanted to distribute the full code, would reqiure substantial additional resources
*** Tissue modeling: need segmentation and mesh generation
** Long term (include time lines)
== Organizational infrastructure : ==
** How is group organized:
###. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
** How does interaction happen, e.g., meetings, how often, who involved
### Jeroen has semi-regular T-con meetings with Craig
### Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
** Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
4999
4998
2007-08-10T00:36:57Z
Erikj
2
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
:2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
:No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from
confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun
discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that
scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon
choices (1 week)
### Nothing planned after that – we are running simulations and cases and will focus
on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale.
Mesh types, Segmentation, parameters one wants to change in simulations etc are
different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible,
need to code new interface for almost every type of simulation) OR SCIRun
(Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR
Shared-memory/Multi-Core machines. Our current MPI implementation has so
much communication overhead that in practice we are running it on multi-core
machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations
(adaptive meshing would be nice in this case), OR do we want to look at propagation
and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no
major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach
and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
### Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman
collaboration (1 user). Completely different simulations that still share a lot of code
base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
5000
4999
2007-08-10T00:37:16Z
Erikj
2
/* Papers: */
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
::2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
::No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from
confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun
discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that
scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon
choices (1 week)
### Nothing planned after that – we are running simulations and cases and will focus
on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale.
Mesh types, Segmentation, parameters one wants to change in simulations etc are
different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible,
need to code new interface for almost every type of simulation) OR SCIRun
(Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR
Shared-memory/Multi-Core machines. Our current MPI implementation has so
much communication overhead that in practice we are running it on multi-core
machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations
(adaptive meshing would be nice in this case), OR do we want to look at propagation
and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no
major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach
and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
### Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman
collaboration (1 user). Completely different simulations that still share a lot of code
base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
5001
5000
2007-08-10T00:38:55Z
Erikj
2
/* Software development: */
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
::2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
::No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that
scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon
choices (1 week)
::# Nothing planned after that – we are running simulations and cases and will focus
on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale.
Mesh types, Segmentation, parameters one wants to change in simulations etc are
different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible,
need to code new interface for almost every type of simulation) OR SCIRun
(Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR
Shared-memory/Multi-Core machines. Our current MPI implementation has so
much communication overhead that in practice we are running it on multi-core
machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations
(adaptive meshing would be nice in this case), OR do we want to look at propagation
and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no
major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach
and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
### Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman
collaboration (1 user). Completely different simulations that still share a lot of code
base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
5002
5001
2007-08-10T00:39:25Z
Erikj
2
/* Software development: */
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
::2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
::No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon
choices (1 week)
::# Nothing planned after that – we are running simulations and cases and will focus
on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale.
Mesh types, Segmentation, parameters one wants to change in simulations etc are
different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible,
need to code new interface for almost every type of simulation) OR SCIRun
(Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR
Shared-memory/Multi-Core machines. Our current MPI implementation has so
much communication overhead that in practice we are running it on multi-core
machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations
(adaptive meshing would be nice in this case), OR do we want to look at propagation
and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no
major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach
and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
### Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman
collaboration (1 user). Completely different simulations that still share a lot of code
base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
5003
5002
2007-08-10T00:40:15Z
Erikj
2
/* Software development: */
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
::2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
::No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon choices (1 week)
::# Nothing planned after that – we are running simulations and cases and will focus
on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale.
Mesh types, Segmentation, parameters one wants to change in simulations etc are
different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible,
need to code new interface for almost every type of simulation) OR SCIRun
(Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR
Shared-memory/Multi-Core machines. Our current MPI implementation has so
much communication overhead that in practice we are running it on multi-core
machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations
(adaptive meshing would be nice in this case), OR do we want to look at propagation
and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no
major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach
and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
### Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman
collaboration (1 user). Completely different simulations that still share a lot of code
base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
5004
5003
2007-08-10T00:40:50Z
Erikj
2
/* Software development: */
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
::2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
::No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon choices (1 week)
::# Nothing planned after that – we are running simulations and cases and will focus on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale.
Mesh types, Segmentation, parameters one wants to change in simulations etc are
different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible,
need to code new interface for almost every type of simulation) OR SCIRun
(Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR
Shared-memory/Multi-Core machines. Our current MPI implementation has so
much communication overhead that in practice we are running it on multi-core
machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations
(adaptive meshing would be nice in this case), OR do we want to look at propagation
and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no
major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach
and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
### Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman
collaboration (1 user). Completely different simulations that still share a lot of code
base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
Exec:CollabRev Henriquez
100
2569
5005
5004
2007-08-10T00:42:36Z
Erikj
2
/* Software development: */
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
::2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
::No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon choices (1 week)
::# Nothing planned after that – we are running simulations and cases and will focus on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale. Mesh types, Segmentation, parameters one wants to change in simulations etc are different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible, need to code new interface for almost every type of simulation) OR SCIRun (Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR Shared-memory/Multi-Core machines. Our current MPI implementation has so much communication overhead that in practice we are running it on multi-core machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations (adaptive meshing would be nice in this case), OR do we want to look at propagation and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
### Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman
collaboration (1 user). Completely different simulations that still share a lot of code
base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
5006
5005
2007-08-10T00:43:28Z
Erikj
2
/* Extent of the ”cone of influence” : */
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
::2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
::No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon choices (1 week)
::# Nothing planned after that – we are running simulations and cases and will focus on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale. Mesh types, Segmentation, parameters one wants to change in simulations etc are different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible, need to code new interface for almost every type of simulation) OR SCIRun (Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR Shared-memory/Multi-Core machines. Our current MPI implementation has so much communication overhead that in practice we are running it on multi-core machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations (adaptive meshing would be nice in this case), OR do we want to look at propagation and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
::# Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman
collaboration (1 user). Completely different simulations that still share a lot of code
base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
5007
5006
2007-08-10T00:43:49Z
Erikj
2
/* Extent of the ”cone of influence” : */
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
::2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
::No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon choices (1 week)
::# Nothing planned after that – we are running simulations and cases and will focus on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale. Mesh types, Segmentation, parameters one wants to change in simulations etc are different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible, need to code new interface for almost every type of simulation) OR SCIRun (Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR Shared-memory/Multi-Core machines. Our current MPI implementation has so much communication overhead that in practice we are running it on multi-core machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations (adaptive meshing would be nice in this case), OR do we want to look at propagation and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
::# Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman collaboration (1 user). Completely different simulations that still share a lot of code
base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
5008
5007
2007-08-10T00:44:11Z
Erikj
2
/* Extent of the ”cone of influence” : */
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
::2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
::No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon choices (1 week)
::# Nothing planned after that – we are running simulations and cases and will focus on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale. Mesh types, Segmentation, parameters one wants to change in simulations etc are different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible, need to code new interface for almost every type of simulation) OR SCIRun (Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR Shared-memory/Multi-Core machines. Our current MPI implementation has so much communication overhead that in practice we are running it on multi-core machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations (adaptive meshing would be nice in this case), OR do we want to look at propagation and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
::# Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman collaboration (1 user). Completely different simulations that still share a lot of code base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software
the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
5009
5008
2007-08-10T00:44:29Z
Erikj
2
/* Extent of the INTERNAL ”cone of influence” : */
wikitext
text/x-wiki
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
::2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
::No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon choices (1 week)
::# Nothing planned after that – we are running simulations and cases and will focus on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale. Mesh types, Segmentation, parameters one wants to change in simulations etc are different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible, need to code new interface for almost every type of simulation) OR SCIRun (Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR Shared-memory/Multi-Core machines. Our current MPI implementation has so much communication overhead that in practice we are running it on multi-core machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations (adaptive meshing would be nice in this case), OR do we want to look at propagation and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
::# Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman collaboration (1 user). Completely different simulations that still share a lot of code base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
5011
5009
2007-08-10T21:48:49Z
Erikj
2
qu
wikitext
text/x-wiki
== Henriquez Collaboration ==
Rob MacLeod
August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
::2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
::No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon choices (1 week)
::# Nothing planned after that – we are running simulations and cases and will focus on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale. Mesh types, Segmentation, parameters one wants to change in simulations etc are different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible, need to code new interface for almost every type of simulation) OR SCIRun (Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR Shared-memory/Multi-Core machines. Our current MPI implementation has so much communication overhead that in practice we are running it on multi-core machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations (adaptive meshing would be nice in this case), OR do we want to look at propagation and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
::# Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman collaboration (1 user). Completely different simulations that still share a lot of code base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
5012
5011
2007-08-10T21:49:31Z
Erikj
2
/* Henriquez Collaboration */
wikitext
text/x-wiki
== Henriquez Collaboration ==
Rob MacLeod - August 8, 2007
=== Scientific goals and state of the collaborative research: ===
:* Brief summary of goals (in simple terms):<br>
:Simulate electrophysiology of cardiac tissue at the meso scale in order to understand the mechanics of phenomena like propagation, arrhythmias, ischemia, and stimulation.
:* Translational potential:<br>
:High: Could be significant if simulations can go to the whole heart as it would allow
direct simulation of pathologies.
:* Current state of the science/experiments:<br>
:Spatial scale still fairly small, millimeter to centimeter scale models. Current collaboration is working out models to simulate at micrometers scale.
=== Associated technical goals that this collaboration will realize: ===
:* Implementation of cellular/ionic models
:* Incorporation of Cardiowave capabilities into SCIRun
:* Development of high performance solvers for systems of ODEs/PDEs
:* Development of meshing approaches for cell/tissue scale
=== Papers: ===
:* Progress to date:<br>
::2 journal papers in 2005[?, ?] 1 in 2007 [?]
:* CinC paper 2006
:* Several conference talks that acknowledge our part
:* In works (in paper, mainly drafted by Jeroen, being finished by students at Duke (2 months))
:* In the works (include time lines): 2 manuscripts partially written, should be out in next 4 months
:* Planned for the future (include time lines): With tissue scale modeling working we can do various case studies<br>
::No concrete plans yet
== Grants: ==
:* Progress to date: existing grant, NIH software due to run out in March 2008
:* In the works (include time lines): planning a new NIH grant to submit in fall of 2007.
:* Planned for the future (include time lines)
== Software development: ==
:* Description of the tasks:
::# Creation of integrated environment for large scale modeling and simulation of spread of excitation in cardiac tissue; they currently use Cardiowave and are interested in either intrgration with SCIRun or moving fully to SCIRun for simulation and visualization.
::# Segmentation and mesh generation tools for creating models of multiple cells from confocal microscopy
::# Segmentation and mesh generation tools for torso/heart models
::# Efficient solvers for large systems of ODEs and PDEs; part of Cardiowave/SCIRun discussion
:* Progress to date:
::# Automated generation of realistic (but not based on specific data) meshes.
::# Propagation software in usable state
::# Running simulations for cardiac tissue to look for the influence anisotropy
::# Basic interface for running tissue type simulations, but currently specific to that scale and works only with one CardioWave configuration
:* In the works (include time lines)
::# Fixing SCIRun so it will visualize small data sets and will not do random epsilon choices (1 week)
::# Nothing planned after that – we are running simulations and cases and will focus on producing papers. Work on papers/simulations etc (4 months)
::# Small bug fixes (1 week)
:* Planned for the future (include time lines)
::# Need segmentation/meshing software (multiple years)
::# We need a decision on what direction will be: tissue scale OR whole heart scale. Mesh types, Segmentation, parameters one wants to change in simulations etc are different for both cases, making it general will create an awfully complicated interface.
::# We need a decision on what software strategy for simulations: CardioWave (inflexible, need to code new interface for almost every type of simulation) OR SCIRun (Non-existent currently, needs to be developed)
::# We need a decision on which kinds of architectures to support: Clusters/MPI OR Shared-memory/Multi-Core machines. Our current MPI implementation has so much communication overhead that in practice we are running it on multi-core machines, hence why not go all the way?
::# Research questions we want to answer for simulations: do we want afib simulations (adaptive meshing would be nice in this case), OR do we want to look at propagation and local potential gradients (adaptive timestepping is better for this), etc.
::# Concerning tissue modeling we need to run many simulations and analyze them, no major software development.
:* Potential for the future (i.e., as yet unplanned activities)
::# Merging of Cardiowave with SCIRun, which would greatly expand both our reach and the impact of Cardiowave.
== Extent of the ”cone of influence” : ==
:* Other potential users, by name and by generic target group:
::# <math>\textstyle \le</math> 100 middle and some upper tier investigators in cardiac electrophysiology
:* Science cone of influence (who will benefit from the science):
::# Substantial part of EP community, depending on eventual scope of the results.
:* Development cone of influence (who will beneifit from the development, including numbers):
::# Most of the software pieces developed for this project were reused in Triedman collaboration (1 user). Completely different simulations that still share a lot of code base (e.g., MATLAB code)
== Extent of the INTERNAL ”cone of influence” : ==
:# This project drove most of the cleanup of SCIRun so it does not hang all the time (most SCIRun users).
:# However without distribution/software management model for the CardioWave software the simulation components cannot be used elsewhere except SCI/Duke.
== Resources available : ==
:* From the CIBC: Jeroen (40%), plus some bug fixing from developers
:* From the collaborator: one graduate student (50% Sarah)
:* From other sources: none
== Needs : ==
:* Urgent:
::* Jeroen’s time (to do the science and evaluate the tools and write the papers)
::* Need to scale vis elements down in physical space to handle there data.
:* Middle term (include time lines)
::* If we wanted to distribute the full code, would reqiure substantial additional resources
::* Tissue modeling: need segmentation and mesh generation
:* Long term (include time lines)
== Organizational infrastructure : ==
:* How is group organized:
::#. Jeroen is main activist at NCRR end with regular reports to Rob regarding progress.
:* How does interaction happen, e.g., meetings, how often, who involved
::# Jeroen has semi-regular T-con meetings with Craig
::# Jeroen visits Duke 3-4 times per year to interact directly
== Overlap with Center (or Center members) interests : ==
:* Jeroen, Rob, and Dana all have considerable interest in this area of simulation. Rob especially is interested in the context of ischemia and simulating resulting changes in propagation.
Exec:CIBC Exec Area
100
2566
5010
4994
2007-08-10T21:47:12Z
Erikj
2
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
* [[Exec:CollabRev_Henriquez|Craig Henriquez]]
* [[Exec:CollabRev_Triedman|John Triedman]]
5014
5010
2007-08-13T13:07:48Z
Macleod
3
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
For the August 13 meeting of the CIBC Exec, we carried out reviews of the state of all the collaborations. Below is as summary of those evaluations prepared before the meeting.
#[[collab-henriquez-new.pdf|Henriquez in pdf]]
* [[Exec:CollabRev_Henriquez|Craig Henriquez]]
* [[Exec:CollabRev_Triedman|John Triedman]]
5015
5014
2007-08-13T13:11:55Z
Macleod
3
/* Review of Collaborations */
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
For the August 13 meeting of the CIBC Exec, we carried out reviews of the state of all the collaborations. Below is as summary of those evaluations prepared before the meeting.
#[[Media:collab-henriquez-new.pdf|Henriquez in pdf]]
* [[Exec:CollabRev_Henriquez|Craig Henriquez]]
* [[Exec:CollabRev_Triedman|John Triedman]]
5016
5015
2007-08-13T13:16:11Z
Macleod
3
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
For the August 13 meeting of the CIBC Exec, we carried out reviews of the state of all the collaborations. Below is as summary of those evaluations prepared before the meeting.
#[[Media:collab-henriquez-new.pdf|Henriquez in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-triedman-jolly| Triedman-Jolly quez in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
For reference and as a pointer to some Wiki formatting tricks, Erik also prepared a [[Exec:CollabRev_Henriquez|native Wiki]] version of an early edition of the Henriquez collaboration summary
5017
5016
2007-08-13T13:17:07Z
Macleod
3
/* Review of Collaborations */
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
For the August 13 meeting of the CIBC Exec, we carried out reviews of the state of all the collaborations. Below is as summary of those evaluations prepared before the meeting.
#[[Media:collab-henriquez-new.pdf|Henriquez in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-triedman-jolly|Triedman-Jolly in pdf]] and in [[Media:collab-triedman-jolly.tex|LaTeX source]]
For reference and as a pointer to some Wiki formatting tricks, Erik also prepared a [[Exec:CollabRev_Henriquez|native Wiki]] version of an early edition of the Henriquez collaboration summary
5019
5017
2007-08-13T13:29:52Z
Macleod
3
/* Review of Collaborations */
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
For the August 13 meeting of the CIBC Exec, we carried out reviews of the state of all the collaborations. Below is as summary of those evaluations prepared before the meeting.
#[[Media:collab-henriquez-new.pdf|Henriquez in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-makeig-worrell-warfield.pdf|Makeig/Worrell and Warfield in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-triedman-jolly|Triedman-Jolly in pdf]] and in [[Media:collab-triedman-jolly.tex|LaTeX source]]
For reference and as a pointer to some Wiki formatting tricks, Erik also prepared a [[Exec:CollabRev_Henriquez|native Wiki]] version of an early edition of the Henriquez collaboration summary
5021
5019
2007-08-13T13:31:50Z
Macleod
3
/* Review of Collaborations */
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
For the August 13 meeting of the CIBC Exec, we carried out reviews of the state of all the collaborations. Below is as summary of those evaluations prepared before the meeting.
#[[Media:collab-capecchi-july07.pdf|Capecchi in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-henriquez-new.pdf|Henriquez in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-makeig-worrell-warfield.pdf|Makeig/Worrell and Warfield in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-triedman-jolly|Triedman-Jolly in pdf]] and in [[Media:collab-triedman-jolly.tex|LaTeX source]]
For reference and as a pointer to some Wiki formatting tricks, Erik also prepared a [[Exec:CollabRev_Henriquez|native Wiki]] version of an early edition of the Henriquez collaboration summary
5023
5021
2007-08-13T13:35:20Z
Macleod
3
/* Review of Collaborations */
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
For the August 13 meeting of the CIBC Exec, we carried out reviews of the state of all the collaborations. Below is as summary of those evaluations prepared before the meeting.
#[[Media:collab-capecchi-july07.pdf|Capecchi in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-henriquez-new.pdf|Henriquez in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-makeig-worrell-warfield.pdf|Makeig/Worrell and Warfield in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-triedman-jolley|Triedman-Jolley in pdf]] and in [[Media:collab-triedman-jolley.tex|LaTeX source]]
For reference and as a pointer to some Wiki formatting tricks, Erik also prepared a [[Exec:CollabRev_Henriquez|native Wiki]] version of an early edition of the Henriquez collaboration summary
5024
5023
2007-08-13T13:38:11Z
Macleod
3
/* Review of Collaborations */
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
For the August 13 meeting of the CIBC Exec, we carried out reviews of the state of all the collaborations. Below is as summary of those evaluations prepared before the meeting.
#[[Media:collab-capecchi-july07.pdf|Capecchi in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-henriquez-new.pdf|Henriquez in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-makeig-worrell-warfield.pdf|Makeig/Worrell and Warfield in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:Collab-triedman-jolley|Triedman-Jolley in pdf]] and in [[Media:collab-triedman-jolley.tex|LaTeX source]]
For reference and as a pointer to some Wiki formatting tricks, Erik also prepared a [[Exec:CollabRev_Henriquez|native Wiki]] version of an early edition of the Henriquez collaboration summary
5025
5024
2007-08-13T13:39:00Z
Macleod
3
/* Review of Collaborations */
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
For the August 13 meeting of the CIBC Exec, we carried out reviews of the state of all the collaborations. Below is as summary of those evaluations prepared before the meeting.
#[[Media:collab-capecchi-july07.pdf|Capecchi in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-henriquez-new.pdf|Henriquez in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-makeig-worrell-warfield.pdf|Makeig/Worrell and Warfield in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-triedman-jolley.pdf|Triedman-Jolley in pdf]] and in [[Media:collab-triedman-jolley.tex|LaTeX source]]
For reference and as a pointer to some Wiki formatting tricks, Erik also prepared a [[Exec:CollabRev_Henriquez|native Wiki]] version of an early edition of the Henriquez collaboration summary
5026
5025
2007-08-19T06:17:09Z
Dmw
6
/* Review of Collaborations */
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
For the August 13 meeting of the CIBC Exec, we carried out reviews of the state of all the collaborations. Below is as summary of those evaluations prepared before the meeting.
#[[Media:collab-capecchi-july07.pdf|Capecchi in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-henriquez-new.pdf|Henriquez in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-makeig-worrell-warfield.pdf|Makeig/Worrell and Warfield in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-triedman-jolley.pdf|Triedman-Jolley in pdf]] and in [[Media:collab-triedman-jolley.tex|LaTeX source]]
#[[Media:collab-keller.pdf|Keller in pdf]] and in [[Media:collab-keller.tex|LaTeX source]]
For reference and as a pointer to some Wiki formatting tricks, Erik also prepared a [[Exec:CollabRev_Henriquez|native Wiki]] version of an early edition of the Henriquez collaboration summary
File:Collab-henriquez-new.pdf
6
2570
5013
2007-08-13T12:53:07Z
Macleod
3
Review of collaboration for CIBC
wikitext
text/x-wiki
Review of collaboration for CIBC
File:Collab-triedman-jolley.pdf
6
2571
5018
2007-08-13T13:18:10Z
Macleod
3
Triedman Jolly collaboration
wikitext
text/x-wiki
Triedman Jolly collaboration
File:Collab-capecchi-july07.pdf
6
2572
5020
2007-08-13T13:31:11Z
Macleod
3
wikitext
text/x-wiki
File:Collab-makeig-worrell-warfield.pdf
6
2573
5022
2007-08-13T13:32:43Z
Macleod
3
wikitext
text/x-wiki
File:Collab-keller.pdf
6
2574
5027
2007-08-19T06:17:20Z
Dmw
6
wikitext
text/x-wiki
File:Collab-keller.tex
6
2575
5028
2007-08-19T06:18:06Z
Dmw
6
wikitext
text/x-wiki
CIBC:EABMeeting2007:Schedule
0
2576
5029
2007-09-06T00:32:03Z
Dmw
6
wikitext
text/x-wiki
Thursday night - Dinner at Rob's house
Friday: Pick up at Hotel Monaco
Continential Breakfast
Introduction - Chris
Ellisman and Capecchi -- Ross
Dave: Seg3D demo
Josh to talk about shape analysis, results and example of use of Seg3D
Keller -- Dave
Makeig / Worrell / Warfield -- Chris
Seok to talk about...?
Henriquez and Treidman / Jolley -- Rob
Jeroen
BioPSE -- Dave
Image and Geometry Processing -- Ross
Jeroen(?) to talk about current state meshing and immediate plans
Miriah to talk about meshing with refs to Treidman and NCMIR
Mathematical Modeling and Simulation - Rob
(Anyone to talk here?)
Visualization - Chris
(Anyone to talk here?)
Future - Chris leads discussion
Feedback from EAB
5030
5029
2007-09-06T00:32:24Z
Dmw
6
wikitext
text/x-wiki
Thursday night - Dinner at Rob's house
Friday: Pick up at Hotel Monaco
Continential Breakfast
Introduction - Chris
Ellisman and Capecchi -- Ross
Dave: Seg3D demo
Josh to talk about shape analysis, results and example of use of Seg3D
Keller -- Dave
Makeig / Worrell / Warfield -- Chris
Seok to talk about...?
Henriquez and Treidman / Jolley -- Rob
Jeroen
BioPSE -- Dave
Image and Geometry Processing -- Ross
Jeroen(?) to talk about current state meshing and immediate plans
Miriah to talk about meshing with refs to Treidman and NCMIR
Mathematical Modeling and Simulation - Rob
(Anyone to talk here?)
Visualization - Chris
(Anyone to talk here?)
Future - Chris leads discussion
Feedback from EAB
5031
5030
2007-09-06T00:32:49Z
Dmw
6
wikitext
text/x-wiki
Thursday night - Dinner at Rob's house
Friday: Pick up at Hotel Monaco
Continential Breakfast
Introduction - Chris
Ellisman and Capecchi -- Ross
* Dave: Seg3D demo
* Josh to talk about shape analysis, results and example of use of Seg3D
Keller -- Dave
Makeig / Worrell / Warfield -- Chris
* Seok to talk about...?
Henriquez and Treidman / Jolley -- Rob
* Jeroen
BioPSE -- Dave
Image and Geometry Processing -- Ross
* Jeroen(?) to talk about current state meshing and immediate plans
* Miriah to talk about meshing with refs to Treidman and NCMIR
Mathematical Modeling and Simulation - Rob
* (Anyone to talk here?)
Visualization - Chris
* (Anyone to talk here?)
Future - Chris leads discussion
Feedback from EAB
5032
5031
2007-09-06T00:39:53Z
Dmw
6
wikitext
text/x-wiki
== EAB 2007 Meeting Schedule: September 20 and 21, 2007 ==
== Thursday night ==
=== Dinner at Rob's house ===
== Friday ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris
=== Ellisman and Capecchi ===
Ross: Overview
Dave: Seg3D demo
Josh: Shape analysis, results and example of use of Seg3D
=== Keller ===
Dave: Overview
=== Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Lunch ===
=== BioPSE ===
Dave: Overview
== Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5033
5032
2007-09-06T00:41:04Z
Dmw
6
[[CIBC:EABMeeting2007:schedule]] moved to [[CIBC:EABMeeting2007:Schedule]]
wikitext
text/x-wiki
== EAB 2007 Meeting Schedule: September 20 and 21, 2007 ==
== Thursday night ==
=== Dinner at Rob's house ===
== Friday ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris
=== Ellisman and Capecchi ===
Ross: Overview
Dave: Seg3D demo
Josh: Shape analysis, results and example of use of Seg3D
=== Keller ===
Dave: Overview
=== Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Lunch ===
=== BioPSE ===
Dave: Overview
== Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5035
5033
2007-09-06T00:41:59Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night ==
=== Dinner at Rob's house ===
== Friday ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris
=== Ellisman and Capecchi ===
Ross: Overview
Dave: Seg3D demo
Josh: Shape analysis, results and example of use of Seg3D
=== Keller ===
Dave: Overview
=== Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Lunch ===
=== BioPSE ===
Dave: Overview
=== Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5036
5035
2007-09-06T00:43:23Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (time?) (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris
=== Ellisman and Capecchi ===
Ross: Overview
Dave: Seg3D demo
Josh: Shape analysis, results and example of use of Seg3D
=== Keller ===
Dave: Overview
=== Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Lunch ===
=== BioPSE ===
Dave: Overview
=== Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5037
5036
2007-09-06T00:44:01Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (time?) (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris: Overview
=== Ellisman and Capecchi ===
Ross: Overview
Dave: Seg3D demo
Josh: Shape analysis, results and example of use of Seg3D
=== Keller ===
Dave: Overview
=== Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Lunch ===
=== BioPSE ===
Dave: Overview
=== Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5038
5037
2007-09-06T01:26:55Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (time?) (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview
Dave: Seg3D demo
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Keller ===
Dave: Overview
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5043
5038
2007-09-12T21:56:47Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (time?) (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview
Josh: Seg3D demo
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Keller ===
Dave: Overview
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5044
5043
2007-09-12T22:01:07Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (time?) (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Keller ===
Dave: Overview
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5045
5044
2007-09-12T22:02:21Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (time?) (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5046
5045
2007-09-14T14:48:52Z
Dmw
6
/* Thursday night: Dinner at Rob's house (time?) (link map) */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house: 6:30p (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5047
5046
2007-09-14T14:50:45Z
Dmw
6
/* Thursday night: Dinner at Rob's house: 6:30p (link map) */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30p (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5048
5047
2007-09-14T14:56:28Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30p (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Core: Visualization ===
Steve: Service, Dissemination, Training, and Administration
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5049
5048
2007-09-14T15:06:42Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30p (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco ===
=== Continential Breakfast ===
=== Introduction ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5050
5049
2007-09-14T15:24:10Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast 7:45am ===
=== Introduction 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5051
5050
2007-09-14T15:30:14Z
Dmw
6
/* Collab: Ellisman and Capecchi */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast 7:45am ===
=== Introduction 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview
JR: Demo Seg3D
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: ???
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5052
5051
2007-09-14T15:32:10Z
Dmw
6
/* Collab: Makeig / Worrell / Warfield */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast 7:45am ===
=== Introduction 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview
JR: Demo Seg3D
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5053
5052
2007-09-14T15:33:36Z
Dmw
6
/* Collab: Ellisman and Capecchi */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast 7:45am ===
=== Introduction 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5054
5053
2007-09-14T15:34:59Z
Dmw
6
/* Collab: Henriquez and Treidman / Jolley */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast 7:45am ===
=== Introduction 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
CIBC:EABMeeting2007:schedule
0
2577
5034
2007-09-06T00:41:04Z
Dmw
6
[[CIBC:EABMeeting2007:schedule]] moved to [[CIBC:EABMeeting2007:Schedule]]
wikitext
text/x-wiki
#REDIRECT [[CIBC:EABMeeting2007:Schedule]]
Help:Contents
12
995
5039
3133
2007-09-06T01:33:51Z
Erikj
2
wikitext
text/x-wiki
== Editing and Formatting ==
The wiki understands many basic HTML tags, but for most things it is best to use wiki text. Here are some helpful guides.
* [http://www.mediawiki.org/wiki/Help:Formatting Help:Formatting]
* [http://meta.wikimedia.org/wiki/Help:Editing Help:Editing]
* [http://www.mediawiki.org/wiki/Help:Images Help:Images]
* [http://meta.wikimedia.org/wiki/Help:Images_and_other_uploaded_files Help:Images and other uploaded files.]
* [http://www.mediawiki.org/wiki/Help:Links Help:Links]
* [http://www.mediawiki.org/wiki/Help:Tables Help:Tables] - Note HTML tables work also.
5040
5039
2007-09-06T01:37:44Z
Erikj
2
wikitext
text/x-wiki
== Editing and Formatting ==
The wiki understands many basic HTML tags, but for most things it is best to use wiki text. Here are some helpful guides.
* [http://www.mediawiki.org/wiki/Help:Formatting Help:Formatting]
* [http://meta.wikimedia.org/wiki/Help:Editing Help:Editing]
* [http://www.mediawiki.org/wiki/Help:Images Help:Images]
* [http://meta.wikimedia.org/wiki/Help:Images_and_other_uploaded_files Help:Images and other uploaded files.]
* [http://www.mediawiki.org/wiki/Help:Links Help:Links]
* [http://www.mediawiki.org/wiki/Help:Tables Help:Tables] - Note HTML tables work also.
== Secure Pages ==
Pages can be restricted so they can be viewed only by logged in users who are members of a specific group by naming them appropriately. Currently, there are two available restricted namespaces, <b>"Exec:"</b> for members of the "exec" group and <b>"Collab:"</b> for members of the "collab" group. To create a restricted page, simply title the page starting with the namespace, i.e. "Collab:". This would place it in the "Collab:" namespace. Pages can be created by first making a link to a nonexistent page. Then click that link and you will be taken to an editing page where you can add your content. If you need to be added to a restricted group, please email webmaster@sci.utah.edu.
Be aware that the wiki can only provide a weak level of security. Consider it a "nothing to see here, move along" not a guarantee of security. Please read this [[Notice_on_Wiki_Security]].
5042
5040
2007-09-06T01:48:45Z
Erikj
2
/* Secure Pages */
wikitext
text/x-wiki
== Editing and Formatting ==
The wiki understands many basic HTML tags, but for most things it is best to use wiki text. Here are some helpful guides.
* [http://www.mediawiki.org/wiki/Help:Formatting Help:Formatting]
* [http://meta.wikimedia.org/wiki/Help:Editing Help:Editing]
* [http://www.mediawiki.org/wiki/Help:Images Help:Images]
* [http://meta.wikimedia.org/wiki/Help:Images_and_other_uploaded_files Help:Images and other uploaded files.]
* [http://www.mediawiki.org/wiki/Help:Links Help:Links]
* [http://www.mediawiki.org/wiki/Help:Tables Help:Tables] - Note HTML tables work also.
== Secure Pages ==
Pages can be restricted so they can be viewed only by logged in users who are members of a specific group by naming them appropriately. Currently, there are two available restricted namespaces, <b>"Exec:"</b> for members of the "exec" group and <b>"Collab:"</b> for members of the "collab" group. To create a restricted page, simply title the page starting with the namespace, i.e. "Collab:". This would place it in the "Collab:" namespace. Pages can be created by first making a link to a nonexistent page. Then click that link and you will be taken to an editing page where you can add your content. If you need access to a restricted group, please email the webmaster (webmaster[at]sci.utah.edu).
Be aware that the wiki can only provide a weak level of security. Consider it a "nothing to see here, move along" not a guarantee of security. Please read this [[Notice_on_Wiki_Security]].
Notice on Wiki Security
0
2578
5041
2007-09-06T01:46:28Z
Erikj
2
wikitext
text/x-wiki
Wikis in general were designed as public forums without access restriction in mind. This wiki has been modified and extended to achieve some amount of access control, however there are [http://www.mediawiki.org/wiki/Security_issues_with_authorization_extensions inherent limitations] to the level of security a wiki can provide. It is important to keep this in mind when using this wiki. Please follow these guidelines when using this wiki:
* <b>Do not use the same password on any wiki that is also used for other more sensitive environments.</b> If the password from a wiki were sniffed out or hacked, those other systems could also be compromised. If you need to change your password, you can do it yourself by going to Special Pages -> [[Special:Preferences|Preferences]].
* <b>Do not place highly sensitive information, personal information, or upload sensitive files onto the wiki.</b> This wiki has been modified to allow restriction of some pages to authorized users, however, there are [http://www.mediawiki.org/wiki/Security_issues_with_authorization_extensions known weaknesses] so it should be seen as a "nothing to see here, move along", rather than a guarantee of secrecy.
* <b>Special "Exec:" and "Collab:" namespaces have been created for CIBC executive and collaborators only pages.</b> This means that any pages named beginning with "Exec:" or "Collab:" will require the user be a member of the "exec" or "collab" user group respectively in order to view or edit it. Please contact the webmaster (webmaster[at]sci.utah.edu) if you need to be made a member of this group.
* <b>Bear in mind that uploaded files could be accessed by anyone visiting the wiki.</b> This wiki has been modified to hide the Special pages that list the uploaded files from non-logged-in users, however, the files themselves are not directly restricted from view and in theory could be seen by any visitor even if the file is not linked on a public page.
* This wiki has been modified so that users cannot create their own accounts and a login is required to edit pages. Users must request an account from the webmaster. This is meant to prevent bots from automatically creating accounts and posting wiki spam, however it does not prevent malicious people from requesting and receiving accounts. We hope that will not be a problem, however, <b>please keep an eye out for malicious postings and report them to webmaster[at]sci.utah.edu.</b>
Thank you, and happy wikiing!
Erik Jorgensen<br>
SCI Webmaster
CIBC:EABMeeting2007:Schedule
0
2576
5055
5054
2007-09-14T15:59:30Z
Dmw
6
/* Lunch */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast 7:45am ===
=== Introduction 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch (11:45am-12:45pm) ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads discussion
=== EAB Executive Session ===
=== Feedback from EAB ===
5056
5055
2007-09-14T15:59:55Z
Dmw
6
/* EAB Executive Session */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast 7:45am ===
=== Introduction 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch (11:45am-12:45pm) ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Miriah: meshing with refs to Treidman and NCMIR
Jeroen: Current state meshing and immediate plans
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads discussion
=== EAB Executive Session (3:30pm) ===
=== Feedback from EAB ===
5057
5056
2007-09-14T16:03:27Z
Dmw
6
/* Core: Image and Geometry Processing */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast 7:45am ===
=== Introduction 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch (11:45am-12:45pm) ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Jeroen: Current state meshing and immediate plans
Miriah: meshing with refs to Treidman and NCMIR
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads discussion
=== EAB Executive Session (3:30pm) ===
=== Feedback from EAB ===
5058
5057
2007-09-14T16:04:00Z
Dmw
6
/* Core: Image and Geometry Processing */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast 7:45am ===
=== Introduction 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch (11:45am-12:45pm) ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Jeroen: Current state meshing and current plans
Miriah: Meshing with refs to Treidman and NCMIR
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
(Any students/ staff to present here?)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads discussion
=== EAB Executive Session (3:30pm) ===
=== Feedback from EAB ===
5059
5058
2007-09-14T16:05:37Z
Dmw
6
/* Core: Mathematical Modeling and Simulation */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast 7:45am ===
=== Introduction 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch (11:45am-12:45pm) ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Jeroen: Current state meshing and current plans
Miriah: Meshing with refs to Treidman and NCMIR
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
Dafang Wang: Computational Inverse Problems (ECG)
=== Core: Visualization ===
Chris: Overview
(Any students / staff to present here?)
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads discussion
=== EAB Executive Session (3:30pm) ===
=== Feedback from EAB ===
5060
5059
2007-09-14T16:07:23Z
Dmw
6
/* Core: Visualization */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast 7:45am ===
=== Introduction 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch (11:45am-12:45pm) ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Jeroen: Current state meshing and current plans
Miriah: Meshing with refs to Treidman and NCMIR
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
Dafang Wang: Computational Inverse Problems (ECG)
=== Core: Visualization ===
Chris: Overview
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads discussion
=== EAB Executive Session (3:30pm) ===
=== Feedback from EAB ===
5061
5060
2007-09-14T16:07:57Z
Dmw
6
/* Future */
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast 7:45am ===
=== Introduction 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Collab: Makeig / Worrell / Warfield ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== Proposed Collab Promotion: Keller ===
Dave: Overview
=== Lunch (11:45am-12:45pm) ===
=== Core: BioPSE ===
Dave: Overview
=== Core: Image and Geometry Processing ===
Ross: Overview
Jeroen: Current state meshing and current plans
Miriah: Meshing with refs to Treidman and NCMIR
=== Core: Mathematical Modeling and Simulation ===
Rob: Overview
Dafang Wang: Computational Inverse Problems (ECG)
=== Core: Visualization ===
Chris: Overview
=== Serice, Dissemintation, Training, and Administration ===
Steve: Overview
=== Future ===
Chris: Leads renewal strategy discussion
=== EAB Executive Session (3:30pm) ===
=== Feedback from EAB ===
5062
5061
2007-09-17T05:27:07Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast: 7:45am ===
=== Introduction: 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi: 8:30am ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Proposed Collab Promotion: Keller: 9:15am ===
Dave: Overview
=== Coffee Break: 9:40am ===
=== Collab: Makeig / Worrell / Warfield: 10:00am ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley: 10:35am ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== WEB Tour: 11:30am ===
=== Lunch (11:45am-12:45pm) ===
=== Core: BioPSE: 12:45pm ===
Dave: Overview
=== Core: Image and Geometry Processing: 1:05pm ===
Ross: Overview
Jeroen: Current state meshing and current plans
Miriah: Meshing with refs to Treidman and NCMIR
=== Core: Mathematical Modeling and Simulation: 1:45pm ===
Rob: Overview
Dafang Wang: Computational Inverse Problems (ECG)
=== Coffee Break: 2:10pm ===
=== Core: Visualization: 2:30pm ===
Chris: Overview
=== Serice, Dissemintation, Training, and Administration: 3:00pm ===
Steve: Overview
=== Future: 3:30pm ===
Chris: Leads renewal strategy discussion
=== EAB Executive Session: 4:00pm ===
=== Feedback from EAB: 5:00pm ===
5063
5062
2007-09-17T05:29:29Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast: 7:45am ===
=== Introduction: 8:00am ===
Chris: Overview
=== Collab: Ellisman and Capecchi: 8:30am ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Proposed Collab Promotion: Keller: 9:15am ===
Dave: Overview
=== Coffee Break: 9:40am ===
=== Collab: Makeig / Worrell / Warfield: 10:00am ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley: 10:35am ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== WEB Tour: 11:30am ===
=== Lunch (11:45am-12:45pm) ===
=== Core: BioPSE: 12:45pm ===
Dave: Overview
=== Core: Image and Geometry Processing: 1:05pm ===
Ross: Overview
Jeroen: Current state meshing and current plans
Miriah: Meshing with refs to Treidman and NCMIR
=== Core: Mathematical Modeling and Simulation: 1:45pm ===
Rob: Overview
Dafang Wang: Computational Inverse Problems (ECG)
=== Coffee Break: 2:10pm ===
=== Core: Visualization: 2:30pm ===
Chris: Overview
=== Serice, Dissemintation, Training, and Administration: 3:00pm ===
Steve: Overview
=== Future: 3:30pm ===
Chris: Leads renewal strategy discussion
=== EAB Executive Session: 4:00pm ===
=== Meeting with Center Admin: 5:00pm ===
=== Dinner (Chris will take people out): 6:15pm ==
5064
5063
2007-09-17T05:34:56Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
=== Continential Breakfast: 7:45am [15 min] ===
=== Introduction: 8:00am [30 min] ===
Chris: Overview
=== Collab: Ellisman and Capecchi: 8:30am [45 min] ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Proposed Collab Promotion: Keller: 9:15am [25 min] ===
Dave: Overview
=== Coffee Break: 9:40am [20 min] ===
=== Collab: Makeig / Worrell / Warfield: 10:00am [35 min] ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley: 10:35am [45 min] ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== WEB Tour: 11:20am [25 min] ===
=== Lunch: 11:45pm [60 min] ===
=== Core: BioPSE: 12:45pm [20 min] ===
Dave: Overview
=== Core: Image and Geometry Processing: 1:05pm [40 min] ===
Ross: Overview
Jeroen: Current state meshing and current plans
Miriah: Meshing with refs to Treidman and NCMIR
=== Core: Mathematical Modeling and Simulation: 1:45pm [25 min] ===
Rob: Overview
Dafang Wang: Computational Inverse Problems (ECG)
=== Coffee Break: 2:10pm [20 min] ===
=== Core: Visualization: 2:30pm [30 min] ===
Chris: Overview
=== Serice, Dissemintation, Training, and Administration: 3:00pm [30 min] ===
Steve: Overview
=== Future: 3:30pm [30 min] ===
Chris: Leads renewal strategy discussion
=== EAB Executive Session: 4:00pm [60 min] ===
=== Meeting with Center Admin: 5:00pm [60 min] ===
=== Dinner (Chris will take people out): 6:15pm ===
5065
5064
2007-09-17T06:04:54Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
Chris, Ross, and Dave will transport guests to and from Rob's
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
Chris, Ross, and Dave will pick up
Steve, Rob, Chems, Nick, and Deb will make sure everything's setup in the Conference Room
=== Continential Breakfast: 7:45am [15 min] ===
=== Introduction: 8:00am [30 min] ===
Chris: Overview
=== Collab: Ellisman and Capecchi: 8:30am [45 min] ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Proposed Collab Promotion: Keller: 9:15am [25 min] ===
Dave: Overview
=== Coffee Break: 9:40am [20 min] ===
=== Collab: Makeig / Worrell / Warfield: 10:00am [35 min] ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley: 10:35am [45 min] ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== WEB Tour: 11:20am [25 min] ===
=== Lunch: 11:45pm [60 min] ===
=== Core: BioPSE: 12:45pm [20 min] ===
Dave: Overview
=== Core: Image and Geometry Processing: 1:05pm [40 min] ===
Ross: Overview
Jeroen: Current state meshing and current plans
Miriah: Meshing with refs to Treidman and NCMIR
=== Core: Mathematical Modeling and Simulation: 1:45pm [25 min] ===
Rob: Overview
Dafang Wang: Computational Inverse Problems (ECG)
=== Coffee Break: 2:10pm [20 min] ===
=== Core: Visualization: 2:30pm [30 min] ===
Chris: Overview
=== Serice, Dissemintation, Training, and Administration: 3:00pm [30 min] ===
Steve: Overview
=== Future: 3:30pm [30 min] ===
Chris: Leads renewal strategy discussion
=== EAB Executive Session: 4:00pm [60 min] ===
=== Meeting with Center Admin: 5:00pm [60 min] ===
=== Dinner (Chris will take people out): 6:15pm ===
5066
5065
2007-09-17T06:05:32Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
Chris, Ross, and Dave will transport guests to and from Rob's
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
Chris, Ross, and Dave will pick up guests at hotel lobby
Steve, Rob, Chems, Nick, and Deb will make sure everything's setup in the Conference Room
=== Continential Breakfast: 7:45am [15 min] ===
=== Introduction: 8:00am [30 min] ===
Chris: Overview
=== Collab: Ellisman and Capecchi: 8:30am [45 min] ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Proposed Collab Promotion: Keller: 9:15am [25 min] ===
Dave: Overview
=== Coffee Break: 9:40am [20 min] ===
=== Collab: Makeig / Worrell / Warfield: 10:00am [35 min] ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley: 10:35am [45 min] ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== WEB Tour: 11:20am [25 min] ===
=== Lunch: 11:45pm [60 min] ===
=== Core: BioPSE: 12:45pm [20 min] ===
Dave: Overview
=== Core: Image and Geometry Processing: 1:05pm [40 min] ===
Ross: Overview
Jeroen: Current state meshing and current plans
Miriah: Meshing with refs to Treidman and NCMIR
=== Core: Mathematical Modeling and Simulation: 1:45pm [25 min] ===
Rob: Overview
Dafang Wang: Computational Inverse Problems (ECG)
=== Coffee Break: 2:10pm [20 min] ===
=== Core: Visualization: 2:30pm [30 min] ===
Chris: Overview
=== Serice, Dissemintation, Training, and Administration: 3:00pm [30 min] ===
Steve: Overview
=== Future: 3:30pm [30 min] ===
Chris: Leads renewal strategy discussion
=== EAB Executive Session: 4:00pm [60 min] ===
=== Meeting with Center Admin: 5:00pm [60 min] ===
=== Dinner (Chris will take people out): 6:15pm ===
5067
5066
2007-09-17T14:36:26Z
Dmw
6
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house (Cafe Med): 6:30pm (link map) ==
Chris, Ross, and Dave will transport guests to and from Rob's
Guests will be picked up at the Hotel Monaco lobby at 6:00pm
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
Chris, Ross, and Dave will pick up guests at hotel lobby
Steve, Rob, Chems, Nick, and Deb will make sure everything's setup in the Conference Room
=== Continential Breakfast: 7:45am [15 min] ===
=== Introduction: 8:00am [30 min] ===
Chris: Overview
=== Collab: Ellisman and Capecchi: 8:30am [45 min] ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Proposed Collab Promotion: Keller: 9:15am [25 min] ===
Dave: Overview
=== Coffee Break: 9:40am [20 min] ===
=== Collab: Makeig / Worrell / Warfield: 10:00am [35 min] ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley: 10:35am [45 min] ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== WEB Tour: 11:20am [25 min] ===
=== Lunch: 11:45pm [60 min] ===
=== Core: BioPSE: 12:45pm [20 min] ===
Dave: Overview
=== Core: Image and Geometry Processing: 1:05pm [40 min] ===
Ross: Overview
Jeroen: Current state meshing and current plans
Miriah: Meshing with refs to Treidman and NCMIR
=== Core: Mathematical Modeling and Simulation: 1:45pm [25 min] ===
Rob: Overview
Dafang Wang: Computational Inverse Problems (ECG)
=== Coffee Break: 2:10pm [20 min] ===
=== Core: Visualization: 2:30pm [30 min] ===
Chris: Overview
=== Serice, Dissemintation, Training, and Administration: 3:00pm [30 min] ===
Steve: Overview
=== Future: 3:30pm [30 min] ===
Chris: Leads renewal strategy discussion
=== EAB Executive Session: 4:00pm [60 min] ===
=== Meeting with Center Admin: 5:00pm [60 min] ===
=== Dinner (Chris will take people out): 6:15pm ===
5068
5067
2007-09-18T13:20:52Z
Macleod
3
wikitext
text/x-wiki
= EAB 2007 Meeting Schedule: September 20 and 21, 2007 =
== Thursday night: Dinner at Rob's house 6:30pm ==
[http://www.cvrti.utah.edu/~macleod/images/map-to-house.png Map to Rob's house]
Chris, Ross, and Dave will transport guests to and from Rob's
Guests will be picked up at the Hotel Monaco lobby at 6:00pm
== Friday: Warnock Engineering Building (WEB) ==
=== Pick up at Hotel Monaco: 7:30am ===
Chris, Ross, and Dave will pick up guests at hotel lobby
Steve, Rob, Chems, Nick, and Deb will make sure everything's setup in the Conference Room
=== Continential Breakfast: 7:45am [15 min] ===
=== Introduction: 8:00am [30 min] ===
Chris: Overview
=== Collab: Ellisman and Capecchi: 8:30am [45 min] ===
Ross: Overview of Ellisman Collab
JR: Demo Seg3D
Ross: Overview of Capecchi Collab
Josh: Shape analysis, results and example of use of Seg3D
=== Proposed Collab Promotion: Keller: 9:15am [25 min] ===
Dave: Overview
=== Coffee Break: 9:40am [20 min] ===
=== Collab: Makeig / Worrell / Warfield: 10:00am [35 min] ===
Chris: Overview
Seok: Low-order Constrained Regularization
=== Collab: Henriquez and Treidman / Jolley: 10:35am [45 min] ===
Rob: Overview of Henriquez Collab
Jeroen: Specific research results
Rob: Overview of Triedman / Jolley Collab
Jeroen: Specific research results
=== WEB Tour: 11:20am [25 min] ===
=== Lunch: 11:45pm [60 min] ===
=== Core: BioPSE: 12:45pm [20 min] ===
Dave: Overview
=== Core: Mathematical Modeling and Simulation: 1:05pm [25 min] ===
Rob: Overview
Dafang Wang: Computational Inverse Problems (ECG)
=== Core: Image and Geometry Processing: 1:30pm [40 min] ===
Ross: Overview
Jeroen: Current state meshing and current plans
Miriah: Meshing with refs to Treidman and NCMIR
=== Coffee Break: 2:10pm [20 min] ===
=== Core: Visualization: 2:30pm [30 min] ===
Chris: Overview
=== Service, Dissemintation, Training, and Administration: 3:00pm [30 min] ===
Steve: Overview
=== Future: 3:30pm [30 min] ===
Chris: Leads renewal strategy discussion
=== EAB Executive Session: 4:00pm [60 min] ===
=== Meeting with Center Admin: 5:00pm [60 min] ===
=== Dinner (Chris will take people out): 6:15pm ===
Exec:CIBC Exec Area
100
2566
5069
5026
2007-09-27T12:57:53Z
Macleod
3
/* Review of Collaborations */
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
For the August 13, 2007 meeting of the CIBC Exec, we carried out reviews of the state of all the collaborations. Below is as summary of those evaluations prepared before the meeting.
#[[Media:collab-capecchi-july07.pdf|Capecchi in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-henriquez-new.pdf|Henriquez in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-makeig-worrell-warfield.pdf|Makeig/Worrell and Warfield in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-triedman-jolley.pdf|Triedman-Jolley in pdf]] and in [[Media:collab-triedman-jolley.tex|LaTeX source]]
#[[Media:collab-keller.pdf|Keller in pdf]] and in [[Media:collab-keller.tex|LaTeX source]]
For reference and as a pointer to some Wiki formatting tricks, Erik also prepared a [[Exec:CollabRev_Henriquez|native Wiki]] version of an early edition of the Henriquez collaboration summary
5073
5069
2007-11-29T17:54:30Z
Macleod
3
wikitext
text/x-wiki
This page is meant for use by the Executive of the Center for Integrative Biomedical Computing. If you land here are not on the Exec, please report it to Erik.
To create a protected page, the name must begin with "Exec:".
===Review of Collaborations===
For the August 13, 2007 meeting of the CIBC Exec, we carried out reviews of the state of all the collaborations. Below is as summary of those evaluations prepared before the meeting.
#[[Media:collab-capecchi-july07.pdf|Capecchi in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-ncmir_july07.pdf|NCMIR in pdf]] and in [[Media:collab_ncmir_july07.tex|LaTeX source]]
#[[Media:collab-henriquez-new.pdf|Henriquez in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-makeig-worrell-warfield.pdf|Makeig/Worrell and Warfield in pdf]] and in [[Media:collab-henriquez-new.tex|LaTeX source]]
#[[Media:collab-triedman-jolley.pdf|Triedman-Jolley in pdf]] and in [[Media:collab-triedman-jolley.tex|LaTeX source]]
#[[Media:collab-keller.pdf|Keller in pdf]] and in [[Media:collab-keller.tex|LaTeX source]]
For reference and as a pointer to some Wiki formatting tricks, Erik also prepared a [[Exec:CollabRev_Henriquez|native Wiki]] version of an early edition of the Henriquez collaboration summary
User:Iksoolim
2
2579
5070
2007-10-01T17:14:58Z
Erikj
2
wikitext
text/x-wiki
Ik Soo Lim
Affiliation: Bangor University, UK
About Me: Computer scientist working on medical graphics and visualization.
5071
5070
2007-10-01T17:15:05Z
Erikj
2
wikitext
text/x-wiki
Ik Soo Lim
Affiliation: Bangor University, UK
About Me: Computer scientist working on medical graphics and visualization.
Help:Contents
12
995
5072
5042
2007-11-28T18:54:58Z
Erikj
2
/* Editing and Formatting */
wikitext
text/x-wiki
== Editing and Formatting ==
The wiki understands many basic HTML tags, but for most things it is best to use wiki text. Here are some helpful guides.
* [http://www.mediawiki.org/wiki/Help:Formatting Help:Formatting]
* [http://meta.wikimedia.org/wiki/Help:Editing Help:Editing]
* [http://www.mediawiki.org/wiki/Help:Images Help:Images]
* [http://meta.wikimedia.org/wiki/Help:Images_and_other_uploaded_files Help:Images and other uploaded files.]
* [http://www.mediawiki.org/wiki/Help:Links Help:Links]
* [http://www.mediawiki.org/wiki/Help:Tables Help:Tables] - Note HTML tables work also.
* [http://meta.wikimedia.org/wiki/Help:Formula Help:Mathematics Markup]
== Secure Pages ==
Pages can be restricted so they can be viewed only by logged in users who are members of a specific group by naming them appropriately. Currently, there are two available restricted namespaces, <b>"Exec:"</b> for members of the "exec" group and <b>"Collab:"</b> for members of the "collab" group. To create a restricted page, simply title the page starting with the namespace, i.e. "Collab:". This would place it in the "Collab:" namespace. Pages can be created by first making a link to a nonexistent page. Then click that link and you will be taken to an editing page where you can add your content. If you need access to a restricted group, please email the webmaster (webmaster[at]sci.utah.edu).
Be aware that the wiki can only provide a weak level of security. Consider it a "nothing to see here, move along" not a guarantee of security. Please read this [[Notice_on_Wiki_Security]].
File:Collab-ncmir july07.pdf
6
2580
5074
2007-11-29T17:57:37Z
Macleod
3
wikitext
text/x-wiki
File:Collab-ncmir july07.tex
6
2581
5075
2007-11-29T17:58:17Z
Macleod
3
wikitext
text/x-wiki
Main Page
0
1
5076
4989
2007-12-08T16:10:34Z
Macleod
3
/* Development Info */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5079
5076
2007-12-11T22:12:03Z
Mjc
35
/* Technical Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5099
5079
2008-02-08T22:36:53Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
[[Collab:test]]
5101
5099
2008-02-28T13:07:38Z
Macleod
3
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
[[CIBC:Project:ImageVis3D | ImageVis3D Design and Development]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
[[Collab:test]]
CIBC:Project:Windows
0
2582
5077
2007-12-11T17:52:37Z
Worthen
39
wikitext
text/x-wiki
This is a document hoping to document any windows-specific issues seen in the last few years.
== DLL Programming ==
Perhaps the most painful part of maintaining a software for package is interfacing with DLLs. Basically, it comes down to: Every symbol in a DLL you want access to in another DLL (or the main exe) needs to be marked with __declspec(dllexport), and every symbol you need to read from another DLL needs to be marked with __declspec(dllimport).
=== Shortcut ===
In SCIRun, this system is shortcut with the SCISHARE macro, which is typically used in header files so it can be imported and exported. The shortcut is created by saying “If I’m build XXX DLL, then make everything that says ‘SCISHARE’ that is part of that library dllexport. Otherwise make it be dllimport. We control that statement via the share.h include file. Here is an example:
<pre>
#undef SCISHARE
#if defined(_WIN32 ) && !defined(BUILD_SCIRUN_STATIC) && defined(BUILD_Core_Thread)
# define SCISHARE __declspec(dllexport)
#else
# define SCISHARE
#endif
</pre>
and we in any Thread .h file, include share.h. Although, notice that <Core/Thread/share.h> is always the last thing included. This is because Thread.h could include Exception.h, which could include its own share.h, so Thread’s SCISHARE would need to be reset.
Then we need to tell the make system that when building Thread source files, to define BUILD_Core_Thread, which you can probably see at most of the SCIRun CMakeLists.txt files.
=== Placement ===
The most common and easy way to do this is to export/import an entire class. To do this, do:
<pre>
class SCISHARE Thread { … };
</pre>
Global functions:
<pre>
SCISHARE void doJunk();
</pre>
Global variables:
<pre>
SCISHARE PackageDB* packageDB;
</pre>
(this will often be marked with an extern)
With global variables it is often the case to define it in a .cc files and reference it in a .cc file. In this case, you must fully qualify it:
.cc file defining:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllexport)
#endif
SCISHARE int dude;
</pre>
.cc file using:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllimport)
#endif
SCISHARE extern int dude;
</pre>
When NOT to do it
Never SCISHARE templated code or inlines. If there is an inline function inside a class, it’s still fine to SCISHARE the entire class.
=== Cygwin/MinGW compilers ===
If you ever decide to use these again, you should be aware that you cannot SCISHARE an entire class. There are, however, compiler options to export all symbols, but with this option, you still have to mark global variables.
A side note about cygwin: if you don’t want to depend on cyg1.dll, compile with –mno-cygwin.
== Finding DLLs ==
Windows has no LD_LIBRARY_PATH and no -rpath path storing. Windows finds DLLs in the following order:
<ul>
<li> directory of the executable
<li> a directory in the PATH variable
<li> windows system directory
</ul>
OR if the DLL was linked in via a manifest, it will look in a specific location.
== Windows system calls ==
If you use a system call, it’s going to different on windows. Please keep this in mind if adding system calls to your code. If you don’t know the windows equivalent, please ask somebody who does (or who can figure it out quickly), and please do this before committing your code.
== C Runtime Libraries ==
Windows has basically two methods of running C runtime code – static or DLL. The general rule is to pick one and make sure that every single library in your application is using it. I believe it’s okay to mix versions of the same type (ala 2003 vs. 2005) as long as there not debug. I don’t recommend it if you can avoid it, though.
=== Compiler Options ===
<ul>
<li>/MD – dynamic CRT – most common, especially among apps with lots of DLLs
<li>/MT – static CRT
<li>/MDd – dynamic debug CRT – don’t distribute apps with this (it’s illegal).
<li>/MTd – static debug CRT
</ul>
So you’ll notice every release of Seg3D has come with a msvcr71.dll and msvcp71.dll. These are the C runtime libraries. I could have made static ones, but to do so I would have had to hack ITK’s make system to do /MT instead of /MD, and that would just confuse everybody.
=== Visual Studio 2005 CRT ===
Starting with Visual Studio 2005, Visual Studio has linked against the CRT with a manifest. This basically says “look for this version of a DLL in this place”. I have yet to discover how to distribute msvcr80.dll such that the installed app on a different machine will identify it. Once this is discovered, we can stop using VS 2003 altogether.
== OpenGL on windows ==
OpenGL is a little different on windows. On Windows XP and earlier, compile-time functionality is locked to version 1.1, and on Vista it is (I believe) 1.4. If you want greater functionality, you need to query its address with extensions. Glew is highly recommended, as you are probably already are using it to determine available opengl functionality in unix programs.
If OpenGL comes with less functionality than expected, and futher digging reveals that you have “Microsoft OpenGL 1.1”, you probably need to upgrade your video card driver. Microsoft OpenGL on windows is bypassed via some client channel set up by your video driver.
== Hash_map ==
As hash_map is not standard, the implementation is slightly different on windows. See the
<pre>
#if defined(__ECC) || defined(_MSC_VER)
</pre>
sections in SCIRun/src/Core/Datatypes
== Solutions and Projects ==
Instead of constructing Makefiles, Visual Studio uses Solutions and Projects. A solution is a runtime environment containing one or more projects. You can open it up in Visual Studio, or compile it on the command line:
<pre>
devenv /build solution-file
or
devenv /build solution-file /project project-file
</pre>
In the case of the VS Express, you can use VCExpress instead of devenv.
== Unix features not available on windows ==
Neither fork nor any derivative of it exists on windows. Sorry. There are a variety of CreateProcess or SpawnProcess functions which are helpful in executing external jobs, but no fork.
== Installers ==
I’ve played with a variety of installers. They’re all pretty straightforward – I am using Inno Setup right now, and have an example script file checked into the Seg3D/scripts directory. I had some problems using the MSI installer (that comes with Visual Studio) on several machines – it just crashes when the wizard closes and it starts to do real work. Then again, Inno failed on a machine as well. Googling the error messages didn’t provide much insight, it blamed the problem on viruses and such.
== Windows Thirdparty ==
The Windows thirdparty is not (presently) integrated into the thirdparty install script. It comes with its own solution, which produces a nice little package which you can distribute anywhere (you can do the same thing on unix if you follow the right set of instructions, but nobody believes me). You just tell it to compile and go, choosing either Debug or Release, in either VS 2003 or 2005.
Constructing the package was kind of a pain. If stuff gets added to thirdparty, each package will have to be added to this solution as its own project. Some of the packages came with their own project (like wx widgets, teem, freetype, zlib, and png do), and some don’t (like all of tcl). Adding the right files has been difficult, but once added, you never have to do it again (unless you upgrade your tcl version or something).
== Windows shell (batch) programs, and system() command ==
Windows shells do not operate like sh or tcsh. Many features are unavailable, like back-quote evaulation and '&&' to execute a second command. Environment variables are referenced with %VAR%.
For more information on batch files, you can see [http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true MS batch file docs]
As in other OSs, the system command executes one command is if it were in the shell.
== SCIRun-specific ==
=== Dynamic compilation ===
With windows, I needed to execute a separate process to run dynamic compilation, as I couldn't execute cd dir && make in system(), so I in essence ran that in a batch file. Instead of forcing the user to specify additional information (like path to NMake), I opted to make this batch file emulate make, without dependencies.
=== CreateTclIndex ===
On windows, createTclIndex is a batch file that calls itclsh on the directory where the tcl files are.
=== Installation ===
A SCIRun installation requires scirun.exe, the SCIRun dlls, the thirdparty DLLs (and the CRT DLLs), all the TCL and XML files in their relative structure. Since scirun sets up the environment with a hardcoded objdir and srcdir, I (with an installer) set up registry variables to override the location.
So I have
<pre>
SCIRun
src
Core
GUI/tcl files with tclIndex
Dataflow
GUI/tcl files with tclIndex
XML/xml files
Packages/Teem,Biopse,etc. with tcl and xml files in Dataflow/{GUI,XML}
bin
on-the-fly-libs (see below)
scirun.exe
All the DLLs (including CRT)
</pre>
Then IF you support dynamic compilation, you need to supply a million headers (which ones they are, I'm not sure) in src in their paths, and then find a way to have the user specify the path to the compiler (THIS IS NOT DONE YET).
If you don't support dynamic compilation, you need to turn it off by setting the CMake ENABLE_DYNAMIC_COMPILATION to off. Optionally you can distribute as many on-the-fly-libs as you want in on-the-fly-libs.
5078
5077
2007-12-11T19:25:32Z
Worthen
39
wikitext
text/x-wiki
This is a document hoping to document any windows-specific issues seen in the last few years.
== DLL Programming ==
Perhaps the most painful part of maintaining a software for package is interfacing with DLLs. Basically, it comes down to: Every symbol in a DLL you want access to in another DLL (or the main exe) needs to be marked with __declspec(dllexport), and every symbol you need to read from another DLL needs to be marked with __declspec(dllimport).
=== Shortcut ===
In SCIRun, this system is shortcut with the SCISHARE macro, which is typically used in header files so it can be imported and exported. The shortcut is created by saying “If I’m build XXX DLL, then make everything that says ‘SCISHARE’ that is part of that library dllexport. Otherwise make it be dllimport. We control that statement via the share.h include file. Here is an example:
<pre>
#undef SCISHARE
#if defined(_WIN32 ) && !defined(BUILD_SCIRUN_STATIC) && defined(BUILD_Core_Thread)
# define SCISHARE __declspec(dllexport)
#else
# define SCISHARE
#endif
</pre>
and we in any Thread .h file, include share.h. Although, notice that <Core/Thread/share.h> is always the last thing included. This is because Thread.h could include Exception.h, which could include its own share.h, so Thread’s SCISHARE would need to be reset.
Then we need to tell the make system that when building Thread source files, to define BUILD_Core_Thread, which you can probably see at most of the SCIRun CMakeLists.txt files.
=== Placement ===
The most common and easy way to do this is to export/import an entire class. To do this, do:
<pre>
class SCISHARE Thread { … };
</pre>
Global functions:
<pre>
SCISHARE void doJunk();
</pre>
Global variables:
<pre>
SCISHARE PackageDB* packageDB;
</pre>
(this will often be marked with an extern)
With global variables it is often the case to define it in a .cc files and reference it in a .cc file. In this case, you must fully qualify it:
.cc file defining:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllexport)
#endif
SCISHARE int dude;
</pre>
.cc file using:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllimport)
#endif
SCISHARE extern int dude;
</pre>
When NOT to do it
Never SCISHARE templated code or inlines. If there is an inline function inside a class, it’s still fine to SCISHARE the entire class.
=== Cygwin/MinGW compilers ===
If you ever decide to use these again, you should be aware that you cannot SCISHARE an entire class. There are, however, compiler options to export all symbols, but with this option, you still have to mark global variables.
A side note about cygwin: if you don’t want to depend on cyg1.dll, compile with –mno-cygwin.
== Finding DLLs ==
Windows has no LD_LIBRARY_PATH and no -rpath path storing. Windows finds DLLs in the following order:
<ul>
<li> directory of the executable
<li> a directory in the PATH variable
<li> windows system directory
</ul>
OR if the DLL was linked in via a manifest, it will look in a specific location.
== CMake's location of binary files ==
CMake, as per a visual studio convention, creates a bindir/Debug and/or a bindir/Release depending on what you make. This is because one project/solution will let you select debug or release in the same configuration but output in different directories.
However, because of Dynamic Compilation, we are restricted to one mode, since at code time, there is no way to differentiate among the configurations at code time.
Also, there are cases when scirun expects output files (like in the case of convert/utils) to not be in the release/debug dir, but in the bin dir. In these cases, there are CMake rules to copy these programs to the correct location.
== Windows system calls ==
If you use a system call, it’s going to different on windows. Please keep this in mind if adding system calls to your code. If you don’t know the windows equivalent, please ask somebody who does (or who can figure it out quickly), and please do this before committing your code.
== C Runtime Libraries ==
Windows has basically two methods of running C runtime code – static or DLL. The general rule is to pick one and make sure that every single library in your application is using it. I believe it’s okay to mix versions of the same type (ala 2003 vs. 2005) as long as there not debug. I don’t recommend it if you can avoid it, though.
=== Compiler Options ===
<ul>
<li>/MD – dynamic CRT – most common, especially among apps with lots of DLLs
<li>/MT – static CRT
<li>/MDd – dynamic debug CRT – don’t distribute apps with this (it’s illegal).
<li>/MTd – static debug CRT
</ul>
So you’ll notice every release of Seg3D has come with a msvcr71.dll and msvcp71.dll. These are the C runtime libraries. I could have made static ones, but to do so I would have had to hack ITK’s make system to do /MT instead of /MD, and that would just confuse everybody.
=== Visual Studio 2005 CRT ===
Starting with Visual Studio 2005, Visual Studio has linked against the CRT with a manifest. This basically says “look for this version of a DLL in this place”. I have yet to discover how to distribute msvcr80.dll such that the installed app on a different machine will identify it. Once this is discovered, we can stop using VS 2003 altogether.
== OpenGL on windows ==
OpenGL is a little different on windows. On Windows XP and earlier, compile-time functionality is locked to version 1.1, and on Vista it is (I believe) 1.4. If you want greater functionality, you need to query its address with extensions. Glew is highly recommended, as you are probably already are using it to determine available opengl functionality in unix programs.
If OpenGL comes with less functionality than expected, and futher digging reveals that you have “Microsoft OpenGL 1.1”, you probably need to upgrade your video card driver. Microsoft OpenGL on windows is bypassed via some client channel set up by your video driver.
== Hash_map ==
As hash_map is not standard, the implementation is slightly different on windows. See the
<pre>
#if defined(__ECC) || defined(_MSC_VER)
</pre>
sections in SCIRun/src/Core/Datatypes
== Solutions and Projects ==
Instead of constructing Makefiles, Visual Studio uses Solutions and Projects. A solution is a runtime environment containing one or more projects. You can open it up in Visual Studio, or compile it on the command line:
<pre>
devenv /build solution-file
or
devenv /build solution-file /project project-file
</pre>
In the case of the VS Express, you can use VCExpress instead of devenv.
== Unix features not available on windows ==
Neither fork nor any derivative of it exists on windows. Sorry. There are a variety of CreateProcess or SpawnProcess functions which are helpful in executing external jobs, but no fork.
== Installers ==
I’ve played with a variety of installers. They’re all pretty straightforward – I am using Inno Setup right now, and have an example script file checked into the Seg3D/scripts directory. I had some problems using the MSI installer (that comes with Visual Studio) on several machines – it just crashes when the wizard closes and it starts to do real work. Then again, Inno failed on a machine as well. Googling the error messages didn’t provide much insight, it blamed the problem on viruses and such.
== Windows Thirdparty ==
The Windows thirdparty is not (presently) integrated into the thirdparty install script. It comes with its own solution, which produces a nice little package which you can distribute anywhere (you can do the same thing on unix if you follow the right set of instructions, but nobody believes me). You just tell it to compile and go, choosing either Debug or Release, in either VS 2003 or 2005.
Constructing the package was kind of a pain. If stuff gets added to thirdparty, each package will have to be added to this solution as its own project. Some of the packages came with their own project (like wx widgets, teem, freetype, zlib, and png do), and some don’t (like all of tcl). Adding the right files has been difficult, but once added, you never have to do it again (unless you upgrade your tcl version or something).
== Windows shell (batch) programs, and system() command ==
Windows shells do not operate like sh or tcsh. Many features are unavailable, like back-quote evaulation and '&&' to execute a second command. Environment variables are referenced with %VAR%.
For more information on batch files, you can see [http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true MS batch file docs]
As in other OSs, the system command executes one command is if it were in the shell.
== Windows filesystem ==
Windows files are set up as follows:
<drive letter>:dir1\dir2\dir with space\file1.
where a given drive letter is a mount point.
That being said, MOST windows system calls function correctly with either / or \, and the drive letter and : may be omitted if the file you're accessing is on the current drive.
There are however, a few system calls that require \, and the primary one that comes to mind is mkdir.
For conversion between unix and windows, there are convertToWindowsPath and convertToUnixPath functions in Core/Util/FileUtils. I recommend converting everything to a Unix path and using a windows path where necessary - primarily because having \ in a string has been known to be treated as an escape character when interpreting the string literally.
== SCIRun-specific ==
=== Dynamic compilation ===
With windows, I needed to execute a separate process to run dynamic compilation, as I couldn't execute cd dir && make in system(), so I in essence ran that in a batch file. Instead of forcing the user to specify additional information (like path to NMake), I opted to make this batch file emulate make, without dependencies.
=== CreateTclIndex ===
On windows, createTclIndex is a batch file that calls itclsh on the directory where the tcl files are.
=== Installation ===
A SCIRun installation requires scirun.exe, the SCIRun dlls, the thirdparty DLLs (and the CRT DLLs), all the TCL and XML files in their relative structure. Since scirun sets up the environment with a hardcoded objdir and srcdir, I (with an installer) set up registry variables to override the location.
So I have
<pre>
SCIRun
src
Core
GUI/tcl files with tclIndex
Dataflow
GUI/tcl files with tclIndex
XML/xml files
Packages/Teem,Biopse,etc. with tcl and xml files in Dataflow/{GUI,XML}
bin
on-the-fly-libs (see below)
scirun.exe
All the DLLs (including CRT)
</pre>
Then IF you support dynamic compilation, you need to supply a million headers (which ones they are, I'm not sure) in src in their paths, and then find a way to have the user specify the path to the compiler (THIS IS NOT DONE YET).
If you don't support dynamic compilation, you need to turn it off by setting the CMake ENABLE_DYNAMIC_COMPILATION to off. Optionally you can distribute as many on-the-fly-libs as you want in on-the-fly-libs.
5081
5078
2007-12-12T00:54:46Z
Worthen
39
wikitext
text/x-wiki
This is a document hoping to document any windows-specific issues seen in the last few years.
== DLL Programming ==
Perhaps the most painful part of maintaining a software for package is interfacing with DLLs. Basically, it comes down to: Every symbol in a DLL you want access to in another DLL (or the main exe) needs to be marked with __declspec(dllexport), and every symbol you need to read from another DLL needs to be marked with __declspec(dllimport).
=== Shortcut ===
In SCIRun, this system is shortcut with the SCISHARE macro, which is typically used in header files so it can be imported and exported. The shortcut is created by saying “If I’m build XXX DLL, then make everything that says ‘SCISHARE’ that is part of that library dllexport. Otherwise make it be dllimport. We control that statement via the share.h include file. Here is an example:
<pre>
#undef SCISHARE
#if defined(_WIN32 ) && !defined(BUILD_SCIRUN_STATIC) && defined(BUILD_Core_Thread)
# define SCISHARE __declspec(dllexport)
#else
# define SCISHARE
#endif
</pre>
and we in any Thread .h file, include share.h. Although, notice that <Core/Thread/share.h> is always the last thing included. This is because Thread.h could include Exception.h, which could include its own share.h, so Thread’s SCISHARE would need to be reset.
Then we need to tell the make system that when building Thread source files, to define BUILD_Core_Thread, which you can probably see at most of the SCIRun CMakeLists.txt files.
=== Placement ===
The most common and easy way to do this is to export/import an entire class. To do this, do:
<pre>
class SCISHARE Thread { … };
</pre>
Global functions:
<pre>
SCISHARE void doJunk();
</pre>
Global variables:
<pre>
SCISHARE PackageDB* packageDB;
</pre>
(this will often be marked with an extern)
With global variables it is often the case to define it in a .cc files and reference it in a .cc file. In this case, you must fully qualify it:
.cc file defining:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllexport)
#endif
SCISHARE int dude;
</pre>
.cc file using:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllimport)
#endif
SCISHARE extern int dude;
</pre>
When NOT to do it
Never SCISHARE templated code or inlines. If there is an inline function inside a class, it’s still fine to SCISHARE the entire class.
=== Cygwin/MinGW compilers ===
If you ever decide to use these again, you should be aware that you cannot SCISHARE an entire class. There are, however, compiler options to export all symbols, but with this option, you still have to mark global variables.
A side note about cygwin: if you don’t want to depend on cyg1.dll, compile with –mno-cygwin.
== Finding DLLs ==
Windows has no LD_LIBRARY_PATH and no -rpath path storing. Windows finds DLLs in the following order:
<ul>
<li> directory of the executable
<li> a directory in the PATH variable
<li> windows system directory
</ul>
OR if the DLL was linked in via a manifest, it will look in a specific location.
== CMake's location of binary files ==
CMake, as per a visual studio convention, creates a bindir/Debug and/or a bindir/Release depending on what you make. This is because one project/solution will let you select debug or release in the same configuration but output in different directories.
However, because of Dynamic Compilation, we are restricted to one mode, since at code time, there is no way to differentiate among the configurations at code time.
Also, there are cases when scirun expects output files (like in the case of convert/utils) to not be in the release/debug dir, but in the bin dir. In these cases, there are CMake rules to copy these programs to the correct location.
== Windows system calls ==
If you use a system call, it’s going to different on windows. Please keep this in mind if adding system calls to your code. If you don’t know the windows equivalent, please ask somebody who does (or who can figure it out quickly), and please do this before committing your code.
== C Runtime Libraries ==
Windows has basically two methods of running C runtime code – static or DLL. The general rule is to pick one and make sure that every single library in your application is using it. I believe it’s okay to mix versions of the same type (ala 2003 vs. 2005) as long as there not debug. I don’t recommend it if you can avoid it, though.
=== Compiler Options ===
<ul>
<li>/MD – dynamic CRT – most common, especially among apps with lots of DLLs
<li>/MT – static CRT
<li>/MDd – dynamic debug CRT – don’t distribute apps with this (it’s illegal).
<li>/MTd – static debug CRT
</ul>
So you’ll notice every release of Seg3D has come with a msvcr71.dll and msvcp71.dll. These are the C runtime libraries. I could have made static ones, but to do so I would have had to hack ITK’s make system to do /MT instead of /MD, and that would just confuse everybody.
=== Visual Studio 2005 CRT ===
Starting with Visual Studio 2005, Visual Studio has linked against the CRT with a manifest. This basically says “look for this version of a DLL in this place”. I have yet to discover how to distribute msvcr80.dll such that the installed app on a different machine will identify it. Once this is discovered, we can stop using VS 2003 altogether.
== OpenGL on windows ==
OpenGL is a little different on windows. On Windows XP and earlier, compile-time functionality is locked to version 1.1, and on Vista it is (I believe) 1.4. If you want greater functionality, you need to query its address with extensions. Glew is highly recommended, as you are probably already are using it to determine available opengl functionality in unix programs.
If OpenGL comes with less functionality than expected, and futher digging reveals that you have “Microsoft OpenGL 1.1”, you probably need to upgrade your video card driver. Microsoft OpenGL on windows is bypassed via some client channel set up by your video driver.
== Hash_map ==
As hash_map is not standard, the implementation is slightly different on windows. See the
<pre>
#if defined(__ECC) || defined(_MSC_VER)
</pre>
sections in SCIRun/src/Core/Datatypes
== Macro expansion ==
Based on some experimentation, it seems if the right header files get included, that min, max, rad1, and rad2 are expanded to other things, and if these are used as variable names, bad things could happen...
== Solutions and Projects ==
Instead of constructing Makefiles, Visual Studio uses Solutions and Projects. A solution is a runtime environment containing one or more projects. You can open it up in Visual Studio, or compile it on the command line:
<pre>
devenv /build solution-file
or
devenv /build solution-file /project project-file
</pre>
In the case of the VS Express, you can use VCExpress instead of devenv.
== Unix features not available on windows ==
Neither fork nor any derivative of it exists on windows. Sorry. There are a variety of CreateProcess or SpawnProcess functions which are helpful in executing external jobs, but no fork.
== Installers ==
I’ve played with a variety of installers. They’re all pretty straightforward – I am using Inno Setup right now, and have an example script file checked into the Seg3D/scripts directory. I had some problems using the MSI installer (that comes with Visual Studio) on several machines – it just crashes when the wizard closes and it starts to do real work. Then again, Inno failed on a machine as well. Googling the error messages didn’t provide much insight, it blamed the problem on viruses and such.
== Windows Thirdparty ==
The Windows thirdparty is not (presently) integrated into the thirdparty install script. It comes with its own solution, which produces a nice little package which you can distribute anywhere (you can do the same thing on unix if you follow the right set of instructions, but nobody believes me). You just tell it to compile and go, choosing either Debug or Release, in either VS 2003 or 2005.
Constructing the package was kind of a pain. If stuff gets added to thirdparty, each package will have to be added to this solution as its own project. Some of the packages came with their own project (like wx widgets, teem, freetype, zlib, and png do), and some don’t (like all of tcl). Adding the right files has been difficult, but once added, you never have to do it again (unless you upgrade your tcl version or something).
== Windows shell (batch) programs, and system() command ==
Windows shells do not operate like sh or tcsh. Many features are unavailable, like back-quote evaulation and '&&' to execute a second command. Environment variables are referenced with %VAR%.
For more information on batch files, you can see [http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true MS batch file docs]
As in other OSs, the system command executes one command is if it were in the shell.
== Windows filesystem ==
Windows files are set up as follows:
<drive letter>:dir1\dir2\dir with space\file1.
where a given drive letter is a mount point.
That being said, MOST windows system calls function correctly with either / or \, and the drive letter and : may be omitted if the file you're accessing is on the current drive.
There are however, a few system calls that require \, and the primary one that comes to mind is mkdir.
For conversion between unix and windows, there are convertToWindowsPath and convertToUnixPath functions in Core/Util/FileUtils. I recommend converting everything to a Unix path and using a windows path where necessary - primarily because having \ in a string has been known to be treated as an escape character when interpreting the string literally.
== SCIRun-specific ==
=== Dynamic compilation ===
With windows, I needed to execute a separate process to run dynamic compilation, as I couldn't execute cd dir && make in system(), so I in essence ran that in a batch file. Instead of forcing the user to specify additional information (like path to NMake), I opted to make this batch file emulate make, without dependencies.
=== CreateTclIndex ===
On windows, createTclIndex is a batch file that calls itclsh on the directory where the tcl files are.
=== Installation ===
A SCIRun installation requires scirun.exe, the SCIRun dlls, the thirdparty DLLs (and the CRT DLLs), all the TCL and XML files in their relative structure. Since scirun sets up the environment with a hardcoded objdir and srcdir, I (with an installer) set up registry variables to override the location.
So I have
<pre>
SCIRun
src
Core
GUI/tcl files with tclIndex
Dataflow
GUI/tcl files with tclIndex
XML/xml files
Packages/Teem,Biopse,etc. with tcl and xml files in Dataflow/{GUI,XML}
bin
on-the-fly-libs (see below)
scirun.exe
All the DLLs (including CRT)
</pre>
Then IF you support dynamic compilation, you need to supply a million headers (which ones they are, I'm not sure) in src in their paths, and then find a way to have the user specify the path to the compiler (THIS IS NOT DONE YET).
If you don't support dynamic compilation, you need to turn it off by setting the CMake ENABLE_DYNAMIC_COMPILATION to off. Optionally you can distribute as many on-the-fly-libs as you want in on-the-fly-libs.
5082
5081
2007-12-12T00:55:10Z
Worthen
39
wikitext
text/x-wiki
This is a document hoping to document any windows-specific issues seen in the last few years.
== DLL Programming ==
Perhaps the most painful part of maintaining a software for package is interfacing with DLLs. Basically, it comes down to: Every symbol in a DLL you want access to in another DLL (or the main exe) needs to be marked with __declspec(dllexport), and every symbol you need to read from another DLL needs to be marked with __declspec(dllimport).
=== Shortcut ===
In SCIRun, this system is shortcut with the SCISHARE macro, which is typically used in header files so it can be imported and exported. The shortcut is created by saying “If I’m build XXX DLL, then make everything that says ‘SCISHARE’ that is part of that library dllexport. Otherwise make it be dllimport. We control that statement via the share.h include file. Here is an example:
<pre>
#undef SCISHARE
#if defined(_WIN32 ) && !defined(BUILD_SCIRUN_STATIC) && defined(BUILD_Core_Thread)
# define SCISHARE __declspec(dllexport)
#else
# define SCISHARE
#endif
</pre>
and we in any Thread .h file, include share.h. Although, notice that <Core/Thread/share.h> is always the last thing included. This is because Thread.h could include Exception.h, which could include its own share.h, so Thread’s SCISHARE would need to be reset.
Then we need to tell the make system that when building Thread source files, to define BUILD_Core_Thread, which you can probably see at most of the SCIRun CMakeLists.txt files.
=== Placement ===
The most common and easy way to do this is to export/import an entire class. To do this, do:
<pre>
class SCISHARE Thread { … };
</pre>
Global functions:
<pre>
SCISHARE void doJunk();
</pre>
Global variables:
<pre>
SCISHARE PackageDB* packageDB;
</pre>
(this will often be marked with an extern)
With global variables it is often the case to define it in a .cc files and reference it in a .cc file. In this case, you must fully qualify it:
.cc file defining:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllexport)
#endif
SCISHARE int dude;
</pre>
.cc file using:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllimport)
#endif
SCISHARE extern int dude;
</pre>
When NOT to do it
Never SCISHARE templated code or inlines. If there is an inline function inside a class, it’s still fine to SCISHARE the entire class.
=== Cygwin/MinGW compilers ===
If you ever decide to use these again, you should be aware that you cannot SCISHARE an entire class. There are, however, compiler options to export all symbols, but with this option, you still have to mark global variables.
A side note about cygwin: if you don’t want to depend on cyg1.dll, compile with –mno-cygwin.
== Finding DLLs ==
Windows has no LD_LIBRARY_PATH and no -rpath path storing. Windows finds DLLs in the following order:
<ul>
<li> directory of the executable
<li> a directory in the PATH variable
<li> windows system directory
</ul>
OR if the DLL was linked in via a manifest, it will look in a specific location.
== CMake's location of binary files ==
CMake, as per a visual studio convention, creates a bindir/Debug and/or a bindir/Release depending on what you make. This is because one project/solution will let you select debug or release in the same configuration but output in different directories.
However, because of Dynamic Compilation, we are restricted to one mode, since at code time, there is no way to differentiate among the configurations at code time.
Also, there are cases when scirun expects output files (like in the case of convert/utils) to not be in the release/debug dir, but in the bin dir. In these cases, there are CMake rules to copy these programs to the correct location.
== Windows system calls ==
If you use a system call, it’s going to different on windows. Please keep this in mind if adding system calls to your code. If you don’t know the windows equivalent, please ask somebody who does (or who can figure it out quickly), and please do this before committing your code.
== C Runtime Libraries ==
Windows has basically two methods of running C runtime code – static or DLL. The general rule is to pick one and make sure that every single library in your application is using it. I believe it’s okay to mix versions of the same type (ala 2003 vs. 2005) as long as there not debug. I don’t recommend it if you can avoid it, though.
=== Compiler Options ===
<ul>
<li>/MD – dynamic CRT – most common, especially among apps with lots of DLLs
<li>/MT – static CRT
<li>/MDd – dynamic debug CRT – don’t distribute apps with this (it’s illegal).
<li>/MTd – static debug CRT
</ul>
So you’ll notice every release of Seg3D has come with a msvcr71.dll and msvcp71.dll. These are the C runtime libraries. I could have made static ones, but to do so I would have had to hack ITK’s make system to do /MT instead of /MD, and that would just confuse everybody.
=== Visual Studio 2005 CRT ===
Starting with Visual Studio 2005, Visual Studio has linked against the CRT with a manifest. This basically says “look for this version of a DLL in this place”. I have yet to discover how to distribute msvcr80.dll such that the installed app on a different machine will identify it. Once this is discovered, we can stop using VS 2003 altogether.
== OpenGL on windows ==
OpenGL is a little different on windows. On Windows XP and earlier, compile-time functionality is locked to version 1.1, and on Vista it is (I believe) 1.4. If you want greater functionality, you need to query its address with extensions. Glew is highly recommended, as you are probably already are using it to determine available opengl functionality in unix programs.
If OpenGL comes with less functionality than expected, and futher digging reveals that you have “Microsoft OpenGL 1.1”, you probably need to upgrade your video card driver. Microsoft OpenGL on windows is bypassed via some client channel set up by your video driver.
== Hash_map ==
As hash_map is not standard, the implementation is slightly different on windows. See the
<pre>
#if defined(__ECC) || defined(_MSC_VER)
</pre>
sections in SCIRun/src/Core/Datatypes
== Quirky macro expansion ==
Based on some experimentation, it seems if the right header files get included, that min, max, rad1, and rad2 are expanded to other things, and if these are used as variable names, bad things could happen...
== Solutions and Projects ==
Instead of constructing Makefiles, Visual Studio uses Solutions and Projects. A solution is a runtime environment containing one or more projects. You can open it up in Visual Studio, or compile it on the command line:
<pre>
devenv /build solution-file
or
devenv /build solution-file /project project-file
</pre>
In the case of the VS Express, you can use VCExpress instead of devenv.
== Unix features not available on windows ==
Neither fork nor any derivative of it exists on windows. Sorry. There are a variety of CreateProcess or SpawnProcess functions which are helpful in executing external jobs, but no fork.
== Installers ==
I’ve played with a variety of installers. They’re all pretty straightforward – I am using Inno Setup right now, and have an example script file checked into the Seg3D/scripts directory. I had some problems using the MSI installer (that comes with Visual Studio) on several machines – it just crashes when the wizard closes and it starts to do real work. Then again, Inno failed on a machine as well. Googling the error messages didn’t provide much insight, it blamed the problem on viruses and such.
== Windows Thirdparty ==
The Windows thirdparty is not (presently) integrated into the thirdparty install script. It comes with its own solution, which produces a nice little package which you can distribute anywhere (you can do the same thing on unix if you follow the right set of instructions, but nobody believes me). You just tell it to compile and go, choosing either Debug or Release, in either VS 2003 or 2005.
Constructing the package was kind of a pain. If stuff gets added to thirdparty, each package will have to be added to this solution as its own project. Some of the packages came with their own project (like wx widgets, teem, freetype, zlib, and png do), and some don’t (like all of tcl). Adding the right files has been difficult, but once added, you never have to do it again (unless you upgrade your tcl version or something).
== Windows shell (batch) programs, and system() command ==
Windows shells do not operate like sh or tcsh. Many features are unavailable, like back-quote evaulation and '&&' to execute a second command. Environment variables are referenced with %VAR%.
For more information on batch files, you can see [http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true MS batch file docs]
As in other OSs, the system command executes one command is if it were in the shell.
== Windows filesystem ==
Windows files are set up as follows:
<drive letter>:dir1\dir2\dir with space\file1.
where a given drive letter is a mount point.
That being said, MOST windows system calls function correctly with either / or \, and the drive letter and : may be omitted if the file you're accessing is on the current drive.
There are however, a few system calls that require \, and the primary one that comes to mind is mkdir.
For conversion between unix and windows, there are convertToWindowsPath and convertToUnixPath functions in Core/Util/FileUtils. I recommend converting everything to a Unix path and using a windows path where necessary - primarily because having \ in a string has been known to be treated as an escape character when interpreting the string literally.
== SCIRun-specific ==
=== Dynamic compilation ===
With windows, I needed to execute a separate process to run dynamic compilation, as I couldn't execute cd dir && make in system(), so I in essence ran that in a batch file. Instead of forcing the user to specify additional information (like path to NMake), I opted to make this batch file emulate make, without dependencies.
=== CreateTclIndex ===
On windows, createTclIndex is a batch file that calls itclsh on the directory where the tcl files are.
=== Installation ===
A SCIRun installation requires scirun.exe, the SCIRun dlls, the thirdparty DLLs (and the CRT DLLs), all the TCL and XML files in their relative structure. Since scirun sets up the environment with a hardcoded objdir and srcdir, I (with an installer) set up registry variables to override the location.
So I have
<pre>
SCIRun
src
Core
GUI/tcl files with tclIndex
Dataflow
GUI/tcl files with tclIndex
XML/xml files
Packages/Teem,Biopse,etc. with tcl and xml files in Dataflow/{GUI,XML}
bin
on-the-fly-libs (see below)
scirun.exe
All the DLLs (including CRT)
</pre>
Then IF you support dynamic compilation, you need to supply a million headers (which ones they are, I'm not sure) in src in their paths, and then find a way to have the user specify the path to the compiler (THIS IS NOT DONE YET).
If you don't support dynamic compilation, you need to turn it off by setting the CMake ENABLE_DYNAMIC_COMPILATION to off. Optionally you can distribute as many on-the-fly-libs as you want in on-the-fly-libs.
5083
5082
2007-12-17T21:51:50Z
Worthen
39
/* Windows Thirdparty */
wikitext
text/x-wiki
This is a document hoping to document any windows-specific issues seen in the last few years.
== DLL Programming ==
Perhaps the most painful part of maintaining a software for package is interfacing with DLLs. Basically, it comes down to: Every symbol in a DLL you want access to in another DLL (or the main exe) needs to be marked with __declspec(dllexport), and every symbol you need to read from another DLL needs to be marked with __declspec(dllimport).
=== Shortcut ===
In SCIRun, this system is shortcut with the SCISHARE macro, which is typically used in header files so it can be imported and exported. The shortcut is created by saying “If I’m build XXX DLL, then make everything that says ‘SCISHARE’ that is part of that library dllexport. Otherwise make it be dllimport. We control that statement via the share.h include file. Here is an example:
<pre>
#undef SCISHARE
#if defined(_WIN32 ) && !defined(BUILD_SCIRUN_STATIC) && defined(BUILD_Core_Thread)
# define SCISHARE __declspec(dllexport)
#else
# define SCISHARE
#endif
</pre>
and we in any Thread .h file, include share.h. Although, notice that <Core/Thread/share.h> is always the last thing included. This is because Thread.h could include Exception.h, which could include its own share.h, so Thread’s SCISHARE would need to be reset.
Then we need to tell the make system that when building Thread source files, to define BUILD_Core_Thread, which you can probably see at most of the SCIRun CMakeLists.txt files.
=== Placement ===
The most common and easy way to do this is to export/import an entire class. To do this, do:
<pre>
class SCISHARE Thread { … };
</pre>
Global functions:
<pre>
SCISHARE void doJunk();
</pre>
Global variables:
<pre>
SCISHARE PackageDB* packageDB;
</pre>
(this will often be marked with an extern)
With global variables it is often the case to define it in a .cc files and reference it in a .cc file. In this case, you must fully qualify it:
.cc file defining:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllexport)
#endif
SCISHARE int dude;
</pre>
.cc file using:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllimport)
#endif
SCISHARE extern int dude;
</pre>
When NOT to do it
Never SCISHARE templated code or inlines. If there is an inline function inside a class, it’s still fine to SCISHARE the entire class.
=== Cygwin/MinGW compilers ===
If you ever decide to use these again, you should be aware that you cannot SCISHARE an entire class. There are, however, compiler options to export all symbols, but with this option, you still have to mark global variables.
A side note about cygwin: if you don’t want to depend on cyg1.dll, compile with –mno-cygwin.
== Finding DLLs ==
Windows has no LD_LIBRARY_PATH and no -rpath path storing. Windows finds DLLs in the following order:
<ul>
<li> directory of the executable
<li> a directory in the PATH variable
<li> windows system directory
</ul>
OR if the DLL was linked in via a manifest, it will look in a specific location.
== CMake's location of binary files ==
CMake, as per a visual studio convention, creates a bindir/Debug and/or a bindir/Release depending on what you make. This is because one project/solution will let you select debug or release in the same configuration but output in different directories.
However, because of Dynamic Compilation, we are restricted to one mode, since at code time, there is no way to differentiate among the configurations at code time.
Also, there are cases when scirun expects output files (like in the case of convert/utils) to not be in the release/debug dir, but in the bin dir. In these cases, there are CMake rules to copy these programs to the correct location.
== Windows system calls ==
If you use a system call, it’s going to different on windows. Please keep this in mind if adding system calls to your code. If you don’t know the windows equivalent, please ask somebody who does (or who can figure it out quickly), and please do this before committing your code.
== C Runtime Libraries ==
Windows has basically two methods of running C runtime code – static or DLL. The general rule is to pick one and make sure that every single library in your application is using it. I believe it’s okay to mix versions of the same type (ala 2003 vs. 2005) as long as there not debug. I don’t recommend it if you can avoid it, though.
=== Compiler Options ===
<ul>
<li>/MD – dynamic CRT – most common, especially among apps with lots of DLLs
<li>/MT – static CRT
<li>/MDd – dynamic debug CRT – don’t distribute apps with this (it’s illegal).
<li>/MTd – static debug CRT
</ul>
So you’ll notice every release of Seg3D has come with a msvcr71.dll and msvcp71.dll. These are the C runtime libraries. I could have made static ones, but to do so I would have had to hack ITK’s make system to do /MT instead of /MD, and that would just confuse everybody.
=== Visual Studio 2005 CRT ===
Starting with Visual Studio 2005, Visual Studio has linked against the CRT with a manifest. This basically says “look for this version of a DLL in this place”. I have yet to discover how to distribute msvcr80.dll such that the installed app on a different machine will identify it. Once this is discovered, we can stop using VS 2003 altogether.
== OpenGL on windows ==
OpenGL is a little different on windows. On Windows XP and earlier, compile-time functionality is locked to version 1.1, and on Vista it is (I believe) 1.4. If you want greater functionality, you need to query its address with extensions. Glew is highly recommended, as you are probably already are using it to determine available opengl functionality in unix programs.
If OpenGL comes with less functionality than expected, and futher digging reveals that you have “Microsoft OpenGL 1.1”, you probably need to upgrade your video card driver. Microsoft OpenGL on windows is bypassed via some client channel set up by your video driver.
== Hash_map ==
As hash_map is not standard, the implementation is slightly different on windows. See the
<pre>
#if defined(__ECC) || defined(_MSC_VER)
</pre>
sections in SCIRun/src/Core/Datatypes
== Quirky macro expansion ==
Based on some experimentation, it seems if the right header files get included, that min, max, rad1, and rad2 are expanded to other things, and if these are used as variable names, bad things could happen...
== Solutions and Projects ==
Instead of constructing Makefiles, Visual Studio uses Solutions and Projects. A solution is a runtime environment containing one or more projects. You can open it up in Visual Studio, or compile it on the command line:
<pre>
devenv /build solution-file
or
devenv /build solution-file /project project-file
</pre>
In the case of the VS Express, you can use VCExpress instead of devenv.
== Unix features not available on windows ==
Neither fork nor any derivative of it exists on windows. Sorry. There are a variety of CreateProcess or SpawnProcess functions which are helpful in executing external jobs, but no fork.
== Installers ==
I’ve played with a variety of installers. They’re all pretty straightforward – I am using Inno Setup right now, and have an example script file checked into the Seg3D/scripts directory. I had some problems using the MSI installer (that comes with Visual Studio) on several machines – it just crashes when the wizard closes and it starts to do real work. Then again, Inno failed on a machine as well. Googling the error messages didn’t provide much insight, it blamed the problem on viruses and such.
== Windows Thirdparty ==
The Windows thirdparty is not (presently) integrated into the thirdparty install script. Instead do the following:
1) Download the thirdparty source, currently in http://www.sci.utah.edu/~worthen/3P/3P-win-source.zip.
2) Open the thirdparty.sln or thirdparty.2005.sln. Everything with VS 2005 has 2005 appended.
3) Choose either Debug, Release, StaticDebug, or StaticRelease, in either VS 2003 or 2005, and select Build from the Build menu.
4) The resulting package will be in debug, release, static-debug, or static-release (with an 05 appended if you used 2005).
5) Point SCIRun at that directory, or zip or copy it wherever you want. (you can do the same thing on unix if you follow the right set of instructions, but nobody believes me.)
Constructing the package was kind of a pain. If stuff gets added to thirdparty, each package will have to be added to this solution as its own project. Some of the packages came with their own project (like wx widgets, teem, freetype, zlib, and png do), and some don’t (like all of tcl). Adding the right files has been difficult, but once added, you never have to do it again (unless you upgrade your tcl version or something).
== Windows shell (batch) programs, and system() command ==
Windows shells do not operate like sh or tcsh. Many features are unavailable, like back-quote evaulation and '&&' to execute a second command. Environment variables are referenced with %VAR%.
For more information on batch files, you can see [http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true MS batch file docs]
As in other OSs, the system command executes one command is if it were in the shell.
== Windows filesystem ==
Windows files are set up as follows:
<drive letter>:dir1\dir2\dir with space\file1.
where a given drive letter is a mount point.
That being said, MOST windows system calls function correctly with either / or \, and the drive letter and : may be omitted if the file you're accessing is on the current drive.
There are however, a few system calls that require \, and the primary one that comes to mind is mkdir.
For conversion between unix and windows, there are convertToWindowsPath and convertToUnixPath functions in Core/Util/FileUtils. I recommend converting everything to a Unix path and using a windows path where necessary - primarily because having \ in a string has been known to be treated as an escape character when interpreting the string literally.
== SCIRun-specific ==
=== Dynamic compilation ===
With windows, I needed to execute a separate process to run dynamic compilation, as I couldn't execute cd dir && make in system(), so I in essence ran that in a batch file. Instead of forcing the user to specify additional information (like path to NMake), I opted to make this batch file emulate make, without dependencies.
=== CreateTclIndex ===
On windows, createTclIndex is a batch file that calls itclsh on the directory where the tcl files are.
=== Installation ===
A SCIRun installation requires scirun.exe, the SCIRun dlls, the thirdparty DLLs (and the CRT DLLs), all the TCL and XML files in their relative structure. Since scirun sets up the environment with a hardcoded objdir and srcdir, I (with an installer) set up registry variables to override the location.
So I have
<pre>
SCIRun
src
Core
GUI/tcl files with tclIndex
Dataflow
GUI/tcl files with tclIndex
XML/xml files
Packages/Teem,Biopse,etc. with tcl and xml files in Dataflow/{GUI,XML}
bin
on-the-fly-libs (see below)
scirun.exe
All the DLLs (including CRT)
</pre>
Then IF you support dynamic compilation, you need to supply a million headers (which ones they are, I'm not sure) in src in their paths, and then find a way to have the user specify the path to the compiler (THIS IS NOT DONE YET).
If you don't support dynamic compilation, you need to turn it off by setting the CMake ENABLE_DYNAMIC_COMPILATION to off. Optionally you can distribute as many on-the-fly-libs as you want in on-the-fly-libs.
5084
5083
2007-12-17T21:55:52Z
Worthen
39
wikitext
text/x-wiki
This is a document hoping to document any windows-specific issues seen in the last few years.
== DLL Programming ==
Perhaps the most painful part of maintaining a software for package is interfacing with DLLs. Basically, it comes down to: Every symbol in a DLL you want access to in another DLL (or the main exe) needs to be marked with __declspec(dllexport), and every symbol you need to read from another DLL needs to be marked with __declspec(dllimport).
=== Shortcut ===
In SCIRun, this system is shortcut with the SCISHARE macro, which is typically used in header files so it can be imported and exported. The shortcut is created by saying “If I’m build XXX DLL, then make everything that says ‘SCISHARE’ that is part of that library dllexport. Otherwise make it be dllimport. We control that statement via the share.h include file. Here is an example:
<pre>
#undef SCISHARE
#if defined(_WIN32 ) && !defined(BUILD_SCIRUN_STATIC) && defined(BUILD_Core_Thread)
# define SCISHARE __declspec(dllexport)
#else
# define SCISHARE
#endif
</pre>
and we in any Thread .h file, include share.h. Although, notice that <Core/Thread/share.h> is always the last thing included. This is because Thread.h could include Exception.h, which could include its own share.h, so Thread’s SCISHARE would need to be reset.
Then we need to tell the make system that when building Thread source files, to define BUILD_Core_Thread, which you can probably see at most of the SCIRun CMakeLists.txt files.
=== Placement ===
The most common and easy way to do this is to export/import an entire class. To do this, do:
<pre>
class SCISHARE Thread { … };
</pre>
Global functions:
<pre>
SCISHARE void doJunk();
</pre>
Global variables:
<pre>
SCISHARE PackageDB* packageDB;
</pre>
(this will often be marked with an extern)
With global variables it is often the case to define it in a .cc files and reference it in a .cc file. In this case, you must fully qualify it:
.cc file defining:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllexport)
#endif
SCISHARE int dude;
</pre>
.cc file using:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllimport)
#endif
SCISHARE extern int dude;
</pre>
When NOT to do it
Never SCISHARE templated code or inlines. If there is an inline function inside a class, it’s still fine to SCISHARE the entire class.
=== Cygwin/MinGW compilers ===
If you ever decide to use these again, you should be aware that you cannot SCISHARE an entire class. There are, however, compiler options to export all symbols, but with this option, you still have to mark global variables.
A side note about cygwin: if you don’t want to depend on cyg1.dll, compile with –mno-cygwin.
== Finding DLLs ==
Windows has no LD_LIBRARY_PATH and no -rpath path storing. Windows finds DLLs in the following order:
<ul>
<li> directory of the executable
<li> a directory in the PATH variable
<li> windows system directory
</ul>
OR if the DLL was linked in via a manifest, it will look in a specific location.
== CMake's location of binary files ==
CMake, as per a visual studio convention, creates a bindir/Debug and/or a bindir/Release depending on what you make. This is because one project/solution will let you select debug or release in the same configuration but output in different directories.
However, because of Dynamic Compilation, we are restricted to one mode, since at code time, there is no way to differentiate among the configurations at code time.
Also, there are cases when scirun expects output files (like in the case of convert/utils) to not be in the release/debug dir, but in the bin dir. In these cases, there are CMake rules to copy these programs to the correct location.
== Windows system calls ==
If you use a system call, it’s going to different on windows. Please keep this in mind if adding system calls to your code. If you don’t know the windows equivalent, please ask somebody who does (or who can figure it out quickly), and please do this before committing your code.
== C Runtime Libraries ==
Windows has basically two methods of running C runtime code – static or DLL. The general rule is to pick one and make sure that every single library in your application is using it. I believe it’s okay to mix versions of the same type (ala 2003 vs. 2005) as long as there not debug. I don’t recommend it if you can avoid it, though.
=== Compiler Options ===
<ul>
<li>/MD – dynamic CRT – most common, especially among apps with lots of DLLs
<li>/MT – static CRT
<li>/MDd – dynamic debug CRT – don’t distribute apps with this (it’s illegal).
<li>/MTd – static debug CRT
</ul>
So you’ll notice every release of Seg3D has come with a msvcr71.dll and msvcp71.dll. These are the C runtime libraries. I could have made static ones, but to do so I would have had to hack ITK’s make system to do /MT instead of /MD, and that would just confuse everybody.
=== Visual Studio 2005 CRT ===
Starting with Visual Studio 2005, Visual Studio has linked against the CRT with a manifest. This basically says “look for this version of a DLL in this place”. I have yet to discover how to distribute msvcr80.dll such that the installed app on a different machine will identify it. Once this is discovered, we can stop using VS 2003 altogether.
== OpenGL on windows ==
OpenGL is a little different on windows. On Windows XP and earlier, compile-time functionality is locked to version 1.1, and on Vista it is (I believe) 1.4. If you want greater functionality, you need to query its address with extensions. Glew is highly recommended, as you are probably already are using it to determine available opengl functionality in unix programs.
If OpenGL comes with less functionality than expected, and futher digging reveals that you have “Microsoft OpenGL 1.1”, you probably need to upgrade your video card driver. Microsoft OpenGL on windows is bypassed via some client channel set up by your video driver.
== Hash_map ==
As hash_map is not standard, the implementation is slightly different on windows. See the
<pre>
#if defined(__ECC) || defined(_MSC_VER)
</pre>
sections in SCIRun/src/Core/Datatypes
== Quirky macro expansion ==
If you don't want the windows compiler to yell at you about using min and max as variables or function names, you need to define NOMINMAX on the command line. (This happens in SCIRun's root CMakeLists.txt file). These become macros when you include stdlib.h otherwise.
If you don't want the windows compiler to yell at you for using vars or functions called rad1, rad2, ..., grp1, grp2, ..., you need to define WIN32_LEAN_AND_MEAN on the command line. These are macros that happen when dlgs.h is included, which is included from windows.h unless you define WIN32_LEAN_AND_MEAN.
== Solutions and Projects ==
Instead of constructing Makefiles, Visual Studio uses Solutions and Projects. A solution is a runtime environment containing one or more projects. You can open it up in Visual Studio, or compile it on the command line:
<pre>
devenv /build solution-file
or
devenv /build solution-file /project project-file
</pre>
In the case of the VS Express, you can use VCExpress instead of devenv.
== Unix features not available on windows ==
Neither fork nor any derivative of it exists on windows. Sorry. There are a variety of CreateProcess or SpawnProcess functions which are helpful in executing external jobs, but no fork.
== Installers ==
I’ve played with a variety of installers. They’re all pretty straightforward – I am using Inno Setup right now, and have an example script file checked into the Seg3D/scripts directory. I had some problems using the MSI installer (that comes with Visual Studio) on several machines – it just crashes when the wizard closes and it starts to do real work. Then again, Inno failed on a machine as well. Googling the error messages didn’t provide much insight, it blamed the problem on viruses and such.
== Windows Thirdparty ==
The Windows thirdparty is not (presently) integrated into the thirdparty install script. Instead do the following:
1) Download the thirdparty source, currently in http://www.sci.utah.edu/~worthen/3P/3P-win-source.zip.
2) Open the thirdparty.sln or thirdparty.2005.sln. Everything with VS 2005 has 2005 appended.
3) Choose either Debug, Release, StaticDebug, or StaticRelease, in either VS 2003 or 2005, and select Build from the Build menu.
4) The resulting package will be in debug, release, static-debug, or static-release (with an 05 appended if you used 2005).
5) Point SCIRun at that directory, or zip or copy it wherever you want. (you can do the same thing on unix if you follow the right set of instructions, but nobody believes me.)
Constructing the package was kind of a pain. If stuff gets added to thirdparty, each package will have to be added to this solution as its own project. Some of the packages came with their own project (like wx widgets, teem, freetype, zlib, and png do), and some don’t (like all of tcl). Adding the right files has been difficult, but once added, you never have to do it again (unless you upgrade your tcl version or something).
== Windows shell (batch) programs, and system() command ==
Windows shells do not operate like sh or tcsh. Many features are unavailable, like back-quote evaulation and '&&' to execute a second command. Environment variables are referenced with %VAR%.
For more information on batch files, you can see [http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true MS batch file docs]
As in other OSs, the system command executes one command is if it were in the shell.
== Windows filesystem ==
Windows files are set up as follows:
<drive letter>:dir1\dir2\dir with space\file1.
where a given drive letter is a mount point.
That being said, MOST windows system calls function correctly with either / or \, and the drive letter and : may be omitted if the file you're accessing is on the current drive.
There are however, a few system calls that require \, and the primary one that comes to mind is mkdir.
For conversion between unix and windows, there are convertToWindowsPath and convertToUnixPath functions in Core/Util/FileUtils. I recommend converting everything to a Unix path and using a windows path where necessary - primarily because having \ in a string has been known to be treated as an escape character when interpreting the string literally.
== SCIRun-specific ==
=== Dynamic compilation ===
With windows, I needed to execute a separate process to run dynamic compilation, as I couldn't execute cd dir && make in system(), so I in essence ran that in a batch file. Instead of forcing the user to specify additional information (like path to NMake), I opted to make this batch file emulate make, without dependencies.
=== CreateTclIndex ===
On windows, createTclIndex is a batch file that calls itclsh on the directory where the tcl files are.
=== Installation ===
A SCIRun installation requires scirun.exe, the SCIRun dlls, the thirdparty DLLs (and the CRT DLLs), all the TCL and XML files in their relative structure. Since scirun sets up the environment with a hardcoded objdir and srcdir, I (with an installer) set up registry variables to override the location.
So I have
<pre>
SCIRun
src
Core
GUI/tcl files with tclIndex
Dataflow
GUI/tcl files with tclIndex
XML/xml files
Packages/Teem,Biopse,etc. with tcl and xml files in Dataflow/{GUI,XML}
bin
on-the-fly-libs (see below)
scirun.exe
All the DLLs (including CRT)
</pre>
Then IF you support dynamic compilation, you need to supply a million headers (which ones they are, I'm not sure) in src in their paths, and then find a way to have the user specify the path to the compiler (THIS IS NOT DONE YET).
If you don't support dynamic compilation, you need to turn it off by setting the CMake ENABLE_DYNAMIC_COMPILATION to off. Optionally you can distribute as many on-the-fly-libs as you want in on-the-fly-libs.
5086
5084
2007-12-21T21:45:13Z
Worthen
39
wikitext
text/x-wiki
This is a document hoping to document any windows-specific issues seen in the last few years.
== DLL Programming ==
Perhaps the most painful part of maintaining a software for package is interfacing with DLLs. Basically, it comes down to: Every symbol in a DLL you want access to in another DLL (or the main exe) needs to be marked with __declspec(dllexport), and every symbol you need to read from another DLL needs to be marked with __declspec(dllimport).
=== Shortcut ===
In SCIRun, this system is shortcut with the SCISHARE macro, which is typically used in header files so it can be imported and exported. The shortcut is created by saying “If I’m build XXX DLL, then make everything that says ‘SCISHARE’ that is part of that library dllexport. Otherwise make it be dllimport. We control that statement via the share.h include file. Here is an example:
<pre>
#undef SCISHARE
#if defined(_WIN32 ) && !defined(BUILD_SCIRUN_STATIC) && defined(BUILD_Core_Thread)
# define SCISHARE __declspec(dllexport)
#else
# define SCISHARE
#endif
</pre>
and we in any Thread .h file, include share.h. Although, notice that <Core/Thread/share.h> is always the last thing included. This is because Thread.h could include Exception.h, which could include its own share.h, so Thread’s SCISHARE would need to be reset.
Then we need to tell the make system that when building Thread source files, to define BUILD_Core_Thread, which you can probably see at most of the SCIRun CMakeLists.txt files.
=== Placement ===
The most common and easy way to do this is to export/import an entire class. To do this, do:
<pre>
class SCISHARE Thread { … };
</pre>
Global functions:
<pre>
SCISHARE void doJunk();
</pre>
Global variables:
<pre>
SCISHARE PackageDB* packageDB;
</pre>
(this will often be marked with an extern)
With global variables it is often the case to define it in a .cc files and reference it in a .cc file. In this case, you must fully qualify it:
.cc file defining:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllexport)
#endif
SCISHARE int dude;
</pre>
.cc file using:
<pre>
#ifdef _WIN32
# define SCISHARE __declspec(dllimport)
#endif
SCISHARE extern int dude;
</pre>
When NOT to do it
Never SCISHARE templated code or inlines. If there is an inline function inside a class, it’s still fine to SCISHARE the entire class.
=== Cygwin/MinGW compilers ===
If you ever decide to use these again, you should be aware that you cannot SCISHARE an entire class. There are, however, compiler options to export all symbols, but with this option, you still have to mark global variables.
A side note about cygwin: if you don’t want to depend on cyg1.dll, compile with –mno-cygwin.
== Finding DLLs ==
Windows has no LD_LIBRARY_PATH and no -rpath path storing. Windows finds DLLs in the following order:
<ul>
<li> directory of the executable
<li> a directory in the PATH variable
<li> windows system directory
</ul>
OR if the DLL was linked in via a manifest, it will look in a specific location.
== CMake's location of binary files ==
CMake, as per a visual studio convention, creates a bindir/Debug and/or a bindir/Release depending on what you make. This is because one project/solution will let you select debug or release in the same configuration but output in different directories.
However, because of Dynamic Compilation, we are restricted to one mode, since at code time, there is no way to differentiate among the configurations at code time.
Also, there are cases when scirun expects output files (like in the case of convert/utils) to not be in the release/debug dir, but in the bin dir. In these cases, there are CMake rules to copy these programs to the correct location.
== Windows system calls ==
If you use a system call, it’s going to different on windows. Please keep this in mind if adding system calls to your code. If you don’t know the windows equivalent, please ask somebody who does (or who can figure it out quickly), and please do this before committing your code.
== C Runtime Libraries ==
Windows has basically two methods of running C runtime code – static or DLL. The general rule is to pick one and make sure that every single library in your application is using it. I believe it’s okay to mix versions of the same type (ala 2003 vs. 2005) as long as there not debug. I don’t recommend it if you can avoid it, though.
=== Compiler Options ===
<ul>
<li>/MD – dynamic CRT – most common, especially among apps with lots of DLLs
<li>/MT – static CRT
<li>/MDd – dynamic debug CRT – don’t distribute apps with this (it’s illegal).
<li>/MTd – static debug CRT
</ul>
So you’ll notice every release of Seg3D has come with a msvcr71.dll and msvcp71.dll. These are the C runtime libraries. I could have made static ones, but to do so I would have had to hack ITK’s make system to do /MT instead of /MD, and that would just confuse everybody.
=== Visual Studio 2005 CRT ===
Starting with Visual Studio 2005, Visual Studio has linked against the CRT with a manifest. This basically says “look for this version of a DLL in this place”. I have yet to discover how to distribute msvcr80.dll such that the installed app on a different machine will identify it. Once this is discovered, we can stop using VS 2003 altogether.
== OpenGL on windows ==
OpenGL is a little different on windows. On Windows XP and earlier, compile-time functionality is locked to version 1.1, and on Vista it is (I believe) 1.4. If you want greater functionality, you need to query its address with extensions. Glew is highly recommended, as you are probably already are using it to determine available opengl functionality in unix programs.
If OpenGL comes with less functionality than expected, and futher digging reveals that you have “Microsoft OpenGL 1.1”, you probably need to upgrade your video card driver. Microsoft OpenGL on windows is bypassed via some client channel set up by your video driver.
== Hash_map ==
As hash_map is not standard, the implementation is slightly different on windows. See the
<pre>
#if defined(__ECC) || defined(_MSC_VER)
</pre>
sections in SCIRun/src/Core/Datatypes
== Quirky macro expansion ==
If you don't want the windows compiler to yell at you about using min and max as variables or function names, you need to define NOMINMAX on the command line. (This happens in SCIRun's root CMakeLists.txt file). These become macros when you include stdlib.h otherwise.
If you don't want the windows compiler to yell at you for using vars or functions called rad1, rad2, ..., grp1, grp2, ..., you need to define WIN32_LEAN_AND_MEAN on the command line. These are macros that happen when dlgs.h is included, which is included from windows.h unless you define WIN32_LEAN_AND_MEAN.
== Solutions and Projects ==
Instead of constructing Makefiles, Visual Studio uses Solutions and Projects. A solution is a runtime environment containing one or more projects. You can open it up in Visual Studio, or compile it on the command line:
<pre>
devenv /build solution-file
or
devenv /build solution-file /project project-file
</pre>
In the case of the VS Express, you can use VCExpress instead of devenv.
== Unix features not available on windows ==
Neither fork nor any derivative of it exists on windows. Sorry. There are a variety of CreateProcess or SpawnProcess functions which are helpful in executing external jobs, but no fork.
== Installers ==
I’ve played with a variety of installers. They’re all pretty straightforward – I am using Inno Setup right now, and have an example script file checked into the Seg3D/scripts directory. I had some problems using the MSI installer (that comes with Visual Studio) on several machines – it just crashes when the wizard closes and it starts to do real work. Then again, Inno failed on a machine as well. Googling the error messages didn’t provide much insight, it blamed the problem on viruses and such.
== Windows Thirdparty ==
The Windows thirdparty is not (presently) integrated into the thirdparty install script. Instead do the following:
1) Download the thirdparty source, currently in http://www.sci.utah.edu/~worthen/3P/3P-win-source.zip.
2) Open the thirdparty.sln or thirdparty.2005.sln. Everything with VS 2005 has 2005 appended.
3) Choose either Debug, Release, StaticDebug, or StaticRelease, in either VS 2003 or 2005, and select Build from the Build menu.
4) The resulting package will be in debug, release, static-debug, or static-release (with an 05 appended if you used 2005).
5) Point SCIRun at that directory, or zip or copy it wherever you want. (you can do the same thing on unix if you follow the right set of instructions, but nobody believes me.)
Constructing the package was kind of a pain. If stuff gets added to thirdparty, each package will have to be added to this solution as its own project. Some of the packages came with their own project (like wx widgets, teem, freetype, zlib, and png do), and some don’t (like all of tcl). Adding the right files has been difficult, but once added, you never have to do it again (unless you upgrade your tcl version or something).
== Windows shell (batch) programs, and system() command ==
Windows shells do not operate like sh or tcsh. Many features are unavailable, like back-quote evaulation and '&&' to execute a second command. Environment variables are referenced with %VAR%.
For more information on batch files, you can see [http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true MS batch file docs]
As in other OSs, the system command executes one command is if it were in the shell.
== Windows filesystem ==
Windows files are set up as follows:
<drive letter>:dir1\dir2\dir with space\file1.
where a given drive letter is a mount point.
That being said, MOST windows system calls function correctly with either / or \, and the drive letter and : may be omitted if the file you're accessing is on the current drive.
There are however, a few system calls that require \, and the primary one that comes to mind is mkdir.
For conversion between unix and windows, there are convertToWindowsPath and convertToUnixPath functions in Core/Util/FileUtils. I recommend converting everything to a Unix path and using a windows path where necessary - primarily because having \ in a string has been known to be treated as an escape character when interpreting the string literally.
== SCIRun-specific ==
=== Dynamic compilation ===
With windows, I needed to execute a separate process to run dynamic compilation, as I couldn't execute cd dir && make in system(), so I in essence ran that in a batch file. Instead of forcing the user to specify additional information (like path to NMake), I opted to make this batch file emulate make, without dependencies.
=== CreateTclIndex ===
On windows, createTclIndex is a batch file that calls itclsh on the directory where the tcl files are.
=== Installation ===
A SCIRun installation requires scirun.exe, the SCIRun dlls, the thirdparty DLLs (and the CRT DLLs), all the TCL and XML files in their relative structure. Since scirun sets up the environment with a hardcoded objdir and srcdir, I (with an installer) set up registry variables to override the location.
So I have
<pre>
SCIRun
src
Core
GUI/tcl files with tclIndex
Dataflow
GUI/tcl files with tclIndex
XML/xml files
Packages/Teem,Biopse,etc. with tcl and xml files in Dataflow/{GUI,XML}
bin
on-the-fly-libs (see below)
scirun.exe
All the DLLs (including CRT)
</pre>
Then IF you support dynamic compilation, you need to supply a million headers (which ones they are, I'm not sure) in src in their paths, and then find a way to have the user specify the path to the compiler (THIS IS NOT DONE YET).
If you don't support dynamic compilation, you need to turn it off by setting the CMake ENABLE_DYNAMIC_COMPILATION to off. Optionally you can distribute as many on-the-fly-libs as you want in on-the-fly-libs.
== Preparing for 64bit ==
I don't know that much about 64bit windows, but from what I've read, it appears that that main concerns are:
<ul>
<li> making sure you know how big your sizes are (long, size_t, etc.) It seems that this is already being addressed in 64bit linux
<li> In 64bit windows, the SetWindowLong and GetWindowLong in Core/Geom/Win32OpenGLContext should be SetWindowLongPtr and GetWindowLongPtr.
</ul>
CIBC:Project:APP Interface dev
0
2583
5080
2007-12-11T22:15:23Z
Mjc
35
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
* ./DataIO/WriteBundleAlg.cc
* ./DataIO/WritePathAlg.cc
* ./DataIO/WriteColorMap2DAlg.cc
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/WriteColorMapAlg.cc
* ./DataIO/ReadColorMap2DAlg.cc
* ./DataIO/ReadStringAlg.cc
* ./DataIO/ReadColorMapAlg.cc
* ./DataIO/ReadMatrixAlg.cc
* ./DataIO/WriteStringAlg.cc
* ./DataIO/ReadPathAlg.cc
* ./DataIO/ReadBundleAlg.cc
* ./DataIO/StreamMatrixFromDiskAlg.cc
* ./DataIO/WriteMatrixAlg.cc
* ./NewField/JoinFieldsAlg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateGradientsAlg.cc
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/AppendMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/SortMatrixAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/SplitFileNameAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/CreateStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Converters/ConvertMatrixToStringAlg.cc
* ./Time/TimeControlsAlg.cc
5085
5080
2007-12-21T17:54:22Z
Bigler
52
WriteStringAlg done
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
* ./DataIO/WriteBundleAlg.cc
* ./DataIO/WritePathAlg.cc
* ./DataIO/WriteColorMap2DAlg.cc
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/WriteColorMapAlg.cc
* ./DataIO/ReadColorMap2DAlg.cc
* ./DataIO/ReadStringAlg.cc
* ./DataIO/ReadColorMapAlg.cc
* ./DataIO/ReadMatrixAlg.cc
<strike>
* ./DataIO/WriteStringAlg.cc
</strike>
* ./DataIO/ReadPathAlg.cc
* ./DataIO/ReadBundleAlg.cc
* ./DataIO/StreamMatrixFromDiskAlg.cc
* ./DataIO/WriteMatrixAlg.cc
* ./NewField/JoinFieldsAlg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateGradientsAlg.cc
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/AppendMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/SortMatrixAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/SplitFileNameAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/CreateStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Converters/ConvertMatrixToStringAlg.cc
* ./Time/TimeControlsAlg.cc
5087
5085
2008-01-05T14:03:41Z
Bigler
52
Finished WriteMatrixAlg
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
* ./DataIO/WriteBundleAlg.cc
* ./DataIO/WritePathAlg.cc
* ./DataIO/WriteColorMap2DAlg.cc
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/WriteColorMapAlg.cc
* ./DataIO/ReadColorMap2DAlg.cc
* ./DataIO/ReadStringAlg.cc
* ./DataIO/ReadColorMapAlg.cc
* ./DataIO/ReadMatrixAlg.cc
<strike>
* ./DataIO/WriteStringAlg.cc
</strike>
* ./DataIO/ReadPathAlg.cc
* ./DataIO/ReadBundleAlg.cc
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteMatrixAlg.cc
</strike>
* ./NewField/JoinFieldsAlg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateGradientsAlg.cc
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/AppendMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/SortMatrixAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/SplitFileNameAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/CreateStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Converters/ConvertMatrixToStringAlg.cc
* ./Time/TimeControlsAlg.cc
5088
5087
2008-01-07T23:26:42Z
Bigler
52
Finished WriteBundleAlg
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
<strike>
* ./DataIO/WriteBundleAlg.cc
</strike>
* ./DataIO/WritePathAlg.cc
* ./DataIO/WriteColorMap2DAlg.cc
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/WriteColorMapAlg.cc
* ./DataIO/ReadColorMap2DAlg.cc
* ./DataIO/ReadStringAlg.cc
* ./DataIO/ReadColorMapAlg.cc
* ./DataIO/ReadMatrixAlg.cc
<strike>
* ./DataIO/WriteStringAlg.cc
</strike>
* ./DataIO/ReadPathAlg.cc
* ./DataIO/ReadBundleAlg.cc
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteMatrixAlg.cc
</strike>
* ./NewField/JoinFieldsAlg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateGradientsAlg.cc
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/AppendMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/SortMatrixAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/SplitFileNameAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/CreateStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Converters/ConvertMatrixToStringAlg.cc
* ./Time/TimeControlsAlg.cc
5089
5088
2008-01-08T18:44:13Z
Bigler
52
Marked modules James is working on
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
<strike>
* ./DataIO/WriteBundleAlg.cc (James)
</strike>
* ./DataIO/WritePathAlg.cc (James)
* ./DataIO/WriteColorMap2DAlg.cc
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/WriteColorMapAlg.cc
* ./DataIO/ReadColorMap2DAlg.cc
* ./DataIO/ReadStringAlg.cc
* ./DataIO/ReadColorMapAlg.cc
* ./DataIO/ReadMatrixAlg.cc
<strike>
* ./DataIO/WriteStringAlg.cc (James)
</strike>
* ./DataIO/ReadPathAlg.cc
* ./DataIO/ReadBundleAlg.cc
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteMatrixAlg.cc (James)
</strike>
* ./NewField/JoinFieldsAlg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateGradientsAlg.cc
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/AppendMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/SortMatrixAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/SplitFileNameAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/CreateStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Converters/ConvertMatrixToStringAlg.cc
* ./Time/TimeControlsAlg.cc
5090
5089
2008-01-08T23:16:05Z
Bigler
52
Finished WritePathAlg. Added note.
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
<strike>
* ./DataIO/WriteBundleAlg.cc (James)
* ./DataIO/WritePathAlg.cc (James)
</strike>
* ./DataIO/WriteColorMap2DAlg.cc
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/WriteColorMapAlg.cc
* ./DataIO/ReadColorMap2DAlg.cc
* ./DataIO/ReadStringAlg.cc
* ./DataIO/ReadColorMapAlg.cc
* ./DataIO/ReadMatrixAlg.cc
<strike>
* ./DataIO/WriteStringAlg.cc (James)
</strike>
* ./DataIO/ReadPathAlg.cc
* ./DataIO/ReadBundleAlg.cc
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteMatrixAlg.cc (James)
</strike>
* ./NewField/JoinFieldsAlg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateGradientsAlg.cc
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/AppendMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/SortMatrixAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/SplitFileNameAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/CreateStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Converters/ConvertMatrixToStringAlg.cc
* ./Time/TimeControlsAlg.cc
=== Notes ===
# The writer code changes the unknown filetype from Binary to Text (see GenericWriter.cc and auto_ostream() in Persistent.cc). Is this really necessary?
5091
5090
2008-01-11T03:54:17Z
Bigler
52
Tagging my name on the WriteColorMap* Algs.
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
<strike>
* ./DataIO/WriteBundleAlg.cc (James)
* ./DataIO/WritePathAlg.cc (James)
</strike>
* ./DataIO/WriteColorMap2DAlg.cc (James)
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/WriteColorMapAlg.cc (James)
* ./DataIO/ReadColorMap2DAlg.cc
* ./DataIO/ReadStringAlg.cc
* ./DataIO/ReadColorMapAlg.cc
* ./DataIO/ReadMatrixAlg.cc
<strike>
* ./DataIO/WriteStringAlg.cc (James)
</strike>
* ./DataIO/ReadPathAlg.cc
* ./DataIO/ReadBundleAlg.cc
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteMatrixAlg.cc (James)
</strike>
* ./NewField/JoinFieldsAlg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateGradientsAlg.cc
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/AppendMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/SortMatrixAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/SplitFileNameAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/CreateStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Converters/ConvertMatrixToStringAlg.cc
* ./Time/TimeControlsAlg.cc
=== Notes ===
# The writer code changes the unknown filetype from Binary to Text (see GenericWriter.cc and auto_ostream() in Persistent.cc). Is this really necessary?
5092
5091
2008-01-11T04:42:19Z
Bigler
52
Alphebetized list. Finished WriteColorMap* Algs.
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
* ./ChangeFieldData/CalculateGradientsAlg.cc
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
* ./Converters/ConvertMatrixToStringAlg.cc
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
* ./DataIO/ReadBundleAlg.cc
* ./DataIO/ReadColorMap2DAlg.cc
* ./DataIO/ReadColorMapAlg.cc
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/ReadMatrixAlg.cc
* ./DataIO/ReadPathAlg.cc
* ./DataIO/ReadStringAlg.cc
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteBundleAlg.cc (James)
* ./DataIO/WriteColorMap2DAlg.cc (James)
* ./DataIO/WriteColorMapAlg.cc (James)
* ./DataIO/WriteMatrixAlg.cc (James)
* ./DataIO/WritePathAlg.cc (James)
* ./DataIO/WriteStringAlg.cc (James)
</strike>
* ./Math/AppendMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/SortMatrixAlg.cc
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/JoinFieldsAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
* ./String/CreateStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/SplitFileNameAlg.cc
* ./Time/TimeControlsAlg.cc
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
=== Notes ===
# The writer code changes the unknown filetype from Binary to Text (see GenericWriter.cc and auto_ostream() in Persistent.cc). Is this really necessary?
5093
5092
2008-01-11T14:55:38Z
Bigler
52
Some formatting
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
=== Bundle ===
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
=== ChangeFieldData ===
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
* ./ChangeFieldData/CalculateGradientsAlg.cc
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
=== ChangeMesh ===
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
=== Converters ===
* ./Converters/ConvertMatrixToStringAlg.cc
=== DataArrayMath ===
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
=== DataIO ===
* ./DataIO/ReadBundleAlg.cc
* ./DataIO/ReadColorMap2DAlg.cc
* ./DataIO/ReadColorMapAlg.cc
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/ReadMatrixAlg.cc
* ./DataIO/ReadPathAlg.cc
* ./DataIO/ReadStringAlg.cc
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteBundleAlg.cc (James)
* ./DataIO/WriteColorMap2DAlg.cc (James)
* ./DataIO/WriteColorMapAlg.cc (James)
* ./DataIO/WriteMatrixAlg.cc (James)
* ./DataIO/WritePathAlg.cc (James)
* ./DataIO/WriteStringAlg.cc (James)
</strike>
=== Math ===
* ./Math/AppendMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/SortMatrixAlg.cc
=== MiscField ===
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
=== NewField ===
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/JoinFieldsAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
=== String ===
* ./String/CreateStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/SplitFileNameAlg.cc
=== Time ===
* ./Time/TimeControlsAlg.cc
=== Visualization ===
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
=== Notes ===
# The writer code changes the unknown filetype from Binary to Text (see GenericWriter.cc and auto_ostream() in Persistent.cc). Is this really necessary?
5094
5093
2008-01-11T15:18:45Z
Bigler
52
/* DataIO */ Finished ReadBundleAlg. Assigned new.
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
=== Bundle ===
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
=== ChangeFieldData ===
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
* ./ChangeFieldData/CalculateGradientsAlg.cc
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
=== ChangeMesh ===
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
=== Converters ===
* ./Converters/ConvertMatrixToStringAlg.cc
=== DataArrayMath ===
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
=== DataIO ===
<strike>
* ./DataIO/ReadBundleAlg.cc (James)
</strike>
* ./DataIO/ReadColorMap2DAlg.cc (James)
* ./DataIO/ReadColorMapAlg.cc (James)
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/ReadMatrixAlg.cc (James)
* ./DataIO/ReadPathAlg.cc (James)
* ./DataIO/ReadStringAlg.cc (James)
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteBundleAlg.cc (James)
* ./DataIO/WriteColorMap2DAlg.cc (James)
* ./DataIO/WriteColorMapAlg.cc (James)
* ./DataIO/WriteMatrixAlg.cc (James)
* ./DataIO/WritePathAlg.cc (James)
* ./DataIO/WriteStringAlg.cc (James)
</strike>
=== Math ===
* ./Math/AppendMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/SortMatrixAlg.cc
=== MiscField ===
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
=== NewField ===
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/JoinFieldsAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
=== String ===
* ./String/CreateStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/SplitFileNameAlg.cc
=== Time ===
* ./Time/TimeControlsAlg.cc
=== Visualization ===
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
=== Notes ===
# The writer code changes the unknown filetype from Binary to Text (see GenericWriter.cc and auto_ostream() in Persistent.cc). Is this really necessary?
5096
5094
2008-01-17T14:25:31Z
Bigler
52
/* DataIO */ Finished ReadColorMap*
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
=== Bundle ===
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
=== ChangeFieldData ===
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
* ./ChangeFieldData/CalculateGradientsAlg.cc
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
=== ChangeMesh ===
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
=== Converters ===
* ./Converters/ConvertMatrixToStringAlg.cc
=== DataArrayMath ===
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
=== DataIO ===
<strike>
* ./DataIO/ReadBundleAlg.cc (James)
* ./DataIO/ReadColorMap2DAlg.cc (James)
* ./DataIO/ReadColorMapAlg.cc (James)
</strike>
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/ReadMatrixAlg.cc (James)
* ./DataIO/ReadPathAlg.cc (James)
* ./DataIO/ReadStringAlg.cc (James)
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteBundleAlg.cc (James)
* ./DataIO/WriteColorMap2DAlg.cc (James)
* ./DataIO/WriteColorMapAlg.cc (James)
* ./DataIO/WriteMatrixAlg.cc (James)
* ./DataIO/WritePathAlg.cc (James)
* ./DataIO/WriteStringAlg.cc (James)
</strike>
=== Math ===
* ./Math/AppendMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/SortMatrixAlg.cc
=== MiscField ===
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
=== NewField ===
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/JoinFieldsAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
=== String ===
* ./String/CreateStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/SplitFileNameAlg.cc
=== Time ===
* ./Time/TimeControlsAlg.cc
=== Visualization ===
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
=== Notes ===
# The writer code changes the unknown filetype from Binary to Text (see GenericWriter.cc and auto_ostream() in Persistent.cc). Is this really necessary?
5097
5096
2008-02-01T20:09:58Z
Mjc
35
/* ChangeFieldData */
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
=== Bundle ===
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
=== ChangeFieldData ===
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
* ./ChangeFieldData/CalculateGradientsAlg.cc(Marty)
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
=== ChangeMesh ===
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
=== Converters ===
* ./Converters/ConvertMatrixToStringAlg.cc
=== DataArrayMath ===
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
=== DataIO ===
<strike>
* ./DataIO/ReadBundleAlg.cc (James)
* ./DataIO/ReadColorMap2DAlg.cc (James)
* ./DataIO/ReadColorMapAlg.cc (James)
</strike>
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/ReadMatrixAlg.cc (James)
* ./DataIO/ReadPathAlg.cc (James)
* ./DataIO/ReadStringAlg.cc (James)
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteBundleAlg.cc (James)
* ./DataIO/WriteColorMap2DAlg.cc (James)
* ./DataIO/WriteColorMapAlg.cc (James)
* ./DataIO/WriteMatrixAlg.cc (James)
* ./DataIO/WritePathAlg.cc (James)
* ./DataIO/WriteStringAlg.cc (James)
</strike>
=== Math ===
* ./Math/AppendMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/SortMatrixAlg.cc
=== MiscField ===
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
=== NewField ===
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/JoinFieldsAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
=== String ===
* ./String/CreateStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/SplitFileNameAlg.cc
=== Time ===
* ./Time/TimeControlsAlg.cc
=== Visualization ===
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
=== Notes ===
# The writer code changes the unknown filetype from Binary to Text (see GenericWriter.cc and auto_ostream() in Persistent.cc). Is this really necessary?
5098
5097
2008-02-01T20:11:23Z
Mjc
35
/* ChangeFieldData */
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
=== Bundle ===
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
=== ChangeFieldData ===
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
<strike>
* ./ChangeFieldData/CalculateGradientsAlg.cc(Marty)
</strike>
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
=== ChangeMesh ===
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
=== Converters ===
* ./Converters/ConvertMatrixToStringAlg.cc
=== DataArrayMath ===
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
=== DataIO ===
<strike>
* ./DataIO/ReadBundleAlg.cc (James)
* ./DataIO/ReadColorMap2DAlg.cc (James)
* ./DataIO/ReadColorMapAlg.cc (James)
</strike>
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/ReadMatrixAlg.cc (James)
* ./DataIO/ReadPathAlg.cc (James)
* ./DataIO/ReadStringAlg.cc (James)
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteBundleAlg.cc (James)
* ./DataIO/WriteColorMap2DAlg.cc (James)
* ./DataIO/WriteColorMapAlg.cc (James)
* ./DataIO/WriteMatrixAlg.cc (James)
* ./DataIO/WritePathAlg.cc (James)
* ./DataIO/WriteStringAlg.cc (James)
</strike>
=== Math ===
* ./Math/AppendMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/SortMatrixAlg.cc
=== MiscField ===
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
=== NewField ===
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/JoinFieldsAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
=== String ===
* ./String/CreateStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/SplitFileNameAlg.cc
=== Time ===
* ./Time/TimeControlsAlg.cc
=== Visualization ===
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
=== Notes ===
# The writer code changes the unknown filetype from Binary to Text (see GenericWriter.cc and auto_ostream() in Persistent.cc). Is this really necessary?
User:Amkeller
2
2584
5095
2008-01-15T21:31:00Z
Erikj
2
wikitext
text/x-wiki
Annette Keller
Affiliation: NIH Center for Information Technology
About Me: NIH/CIT Telemedicine & Applied Imaging Section
CIBC:ImageVis3D:Plan
0
2586
5102
2008-02-28T14:23:23Z
Macleod
3
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality within SCIRun for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as Seg3D and map3d and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
The goals of ImageVis3D include the following:
# Convert and fix BioImage functionality in new framework
* todo: create a pipeline of features as master plan
* remove things from dataflow
* fix broken features: 2D Xfer function editor, painting in slices
* UI layout:
** include stack of operations and allow vis at different point
** do we want to have layers (like Seg3D) as the metaphor? Yes, will allow us to use Seg3D code
** incluce both a master list of controls as well as a way to alter groups or individual panes
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
** may have to bypass ITK file reading to to pre-reading and then give user choices
* feature list:
** filters: median, Gaussian
** resampling of volume data
** crop
**histogram
# Expose existing SCIRun functionality
* import capablities
* saving out volumes from cropped, filters, resampled volumes
* saving images and movies
# Enhance functionality
* save and load sessions
* better transfer function controls
# New functionality
* multi-field vis; with and without locking of controls
* allow locking of features, perhaps groupwise in scaling
* maintain state for each pane
* using two fields together for 2D transfer function
* time dependent data
* adding annotations, landmarks, attach notes
* support for large scale data,
* support for gain field correction
== Implementation ==
== Results ==
5103
5102
2008-03-05T22:40:06Z
Macleod
3
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality within SCIRun for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as Seg3D and map3d and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
The goals of ImageVis3D include the following:
# Convert and fix BioImage functionality in new framework
* todo: create a pipeline of features as master plan
* remove things from dataflow
* fix broken features: 2D Xfer function editor, painting in slices
* UI layout:
** include stack of operations and allow vis at different point
** do we want to have layers (like Seg3D) as the metaphor? Yes, will allow us to use Seg3D code
** incluce both a master list of controls as well as a way to alter groups or individual panes
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
** may have to bypass ITK file reading to to pre-reading and then give user choices
* feature list:
** filters: median, Gaussian
** resampling of volume data
** crop
**histogram
# Expose existing SCIRun functionality
* import capablities
* saving out volumes from cropped, filters, resampled volumes
* saving images and movies
# Enhance functionality
* save and load sessions
* better transfer function controls
# New functionality
* multi-field vis; with and without locking of controls
* allow locking of features, perhaps groupwise in scaling
* maintain state for each pane
* using two fields together for 2D transfer function
* time dependent data
* adding annotations, landmarks, attach notes
* support for large scale data,
* support for gain field correction
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
== Implementation ==
== Results ==
CIBC:Project:ImageVis3D:Meetings:2008-02-28
0
2587
5104
2008-03-05T22:42:29Z
Macleod
3
wikitext
text/x-wiki
<p>ImageVis3D Team Meeting
</p>
<p>February 28, 2008
</p>
<p>James, Dave, Jeroen, Rob, Jens, David, Claudio, Emanualle
</p>
<ol>
<li>VisTrails presentation
<ul>
<li>Claudio and Emanuelle
</li></ul>
</li><li>ImageVis3D presentations (James)
</li><li>Discussion
<ul>
<li>does the complexity of what we need warrant the use of VisTrails?
<ul>
<li>provenance: how much to we have to keep track of?
Is it enough to capture a compact state?
</li></ul>
</li><li>Paraview: check it out; new design, QT and scriptable in python
</li></ul>
</li><li>Plan: go to Vis meeting in Friday at 12:00 to see Jens demo his
software.
</li></ol>
5105
5104
2008-03-05T22:42:53Z
Macleod
3
wikitext
text/x-wiki
<p>ImageVis3D Team Meeting
</p>
<p>February 28, 2008
</p>
<p>James, Dave, Jeroen, Rob, Jens, David, Claudio, Emanualle
</p>
<ol>
<li>VisTrails presentation
<ul>
<li>Claudio and Emanuelle
</li></ul>
</li><li>ImageVis3D presentations (James)
</li><li>Discussion
<ul>
<li>does the complexity of what we need warrant the use of VisTrails?
<ul>
<li>provenance: how much to we have to keep track of?
Is it enough to capture a compact state?
</li></ul>
</li><li>Paraview: check it out; new design, QT and scriptable in python
</li></ul>
</li><li>Plan: go to Vis meeting in Friday at 12:00 to see Jens demo his software.
</li></ol>
CIBC:Project:ImageVis3D:Meetings:2008-02-28
0
2587
5106
5105
2008-03-05T23:06:04Z
Macleod
3
wikitext
text/x-wiki
==ImageVis3D Team Meeting ==
'''February 28, 2008'''
<p>James, Dave, Jeroen, Rob, Jens, David, Claudio, Emanuele
</p>
<ol>
<li>VisTrails presentation
<ul>
<li>Claudio and Emanuele
</li></ul>
</li><li>ImageVis3D presentations (James)
</li><li>Discussion
<ul>
<li>does the complexity of what we need warrant the use of VisTrails?
<ul>
<li>provenance: how much to we have to keep track of?
Is it enough to capture a compact state?
</li></ul>
</li><li>Paraview: check it out; new design, QT and scriptable in python
</li></ul>
</li><li>Plan: go to Vis meeting in Friday at 12:00 to see Jens demo his
software.
</li></ol>
5107
5106
2008-03-06T19:38:58Z
Macleod
3
wikitext
text/x-wiki
==ImageVis3D Team Meeting ==
'''February 28, 2008'''
<p>James, Dave, Jeroen, Rob, Jens, David, Claudio, Emanuele
</p>
<ol>
<li>VisTrails presentation
<ul>
<li>Claudio and Emanuele
</li></ul>
</li><li>ImageVis3D presentations (James)
</li><li>Discussion
<ul>
<li>does the complexity of what we need warrant the use of VisTrails?
<ul>
<li>provenance: how much to we have to keep track of?
Is it enough to capture a compact state?
</li></ul>
</li><li>Paraview: check it out; new design, QT and scriptable in python
</li></ul>
</li><li>Plan: go to Vis meeting in Friday at 12:00 to see Jens demo his software.
</li></ol>
5144
5107
2008-04-15T22:18:06Z
Macleod
3
/* ImageVis3D Team Meeting */
wikitext
text/x-wiki
==ImageVis3D Team Meeting ==
'''February 28, 2008'''
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
<p>James, Dave, Jeroen, Rob, Jens, David, Claudio, Emanuele
</p>
<ol>
<li>VisTrails presentation
<ul>
<li>Claudio and Emanuele
</li></ul>
</li><li>ImageVis3D presentations (James)
</li><li>Discussion
<ul>
<li>does the complexity of what we need warrant the use of VisTrails?
<ul>
<li>provenance: how much to we have to keep track of?
Is it enough to capture a compact state?
</li></ul>
</li><li>Paraview: check it out; new design, QT and scriptable in python
</li></ul>
</li><li>Plan: go to Vis meeting in Friday at 12:00 to see Jens demo his software.
</li></ol>
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
CIBC:ImageVis3D:Plan
0
2586
5108
5103
2008-03-06T19:41:28Z
Macleod
3
/* Meeting notes */
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality within SCIRun for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as Seg3D and map3d and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
The goals of ImageVis3D include the following:
# Convert and fix BioImage functionality in new framework
* todo: create a pipeline of features as master plan
* remove things from dataflow
* fix broken features: 2D Xfer function editor, painting in slices
* UI layout:
** include stack of operations and allow vis at different point
** do we want to have layers (like Seg3D) as the metaphor? Yes, will allow us to use Seg3D code
** incluce both a master list of controls as well as a way to alter groups or individual panes
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
** may have to bypass ITK file reading to to pre-reading and then give user choices
* feature list:
** filters: median, Gaussian
** resampling of volume data
** crop
**histogram
# Expose existing SCIRun functionality
* import capablities
* saving out volumes from cropped, filters, resampled volumes
* saving images and movies
# Enhance functionality
* save and load sessions
* better transfer function controls
# New functionality
* multi-field vis; with and without locking of controls
* allow locking of features, perhaps groupwise in scaling
* maintain state for each pane
* using two fields together for 2D transfer function
* time dependent data
* adding annotations, landmarks, attach notes
* support for large scale data,
* support for gain field correction
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
== Implementation ==
== Results ==
5109
5108
2008-03-06T19:41:57Z
Macleod
3
/* Meeting notes */
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality within SCIRun for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as Seg3D and map3d and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
The goals of ImageVis3D include the following:
# Convert and fix BioImage functionality in new framework
* todo: create a pipeline of features as master plan
* remove things from dataflow
* fix broken features: 2D Xfer function editor, painting in slices
* UI layout:
** include stack of operations and allow vis at different point
** do we want to have layers (like Seg3D) as the metaphor? Yes, will allow us to use Seg3D code
** incluce both a master list of controls as well as a way to alter groups or individual panes
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
** may have to bypass ITK file reading to to pre-reading and then give user choices
* feature list:
** filters: median, Gaussian
** resampling of volume data
** crop
**histogram
# Expose existing SCIRun functionality
* import capablities
* saving out volumes from cropped, filters, resampled volumes
* saving images and movies
# Enhance functionality
* save and load sessions
* better transfer function controls
# New functionality
* multi-field vis; with and without locking of controls
* allow locking of features, perhaps groupwise in scaling
* maintain state for each pane
* using two fields together for 2D transfer function
* time dependent data
* adding annotations, landmarks, attach notes
* support for large scale data,
* support for gain field correction
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
== Implementation ==
== Results ==
5124
5109
2008-04-01T16:56:19Z
Macleod
3
/* Motivation and Overview */
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within SCIRun for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as Seg3D and ''map3d'' and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
The goals of ImageVis3D include the following:
# Convert and fix BioImage functionality in new framework
* todo: create a pipeline of features as master plan
* remove things from dataflow
* fix broken features: 2D Xfer function editor, painting in slices
* UI layout:
** include stack of operations and allow vis at different point
** do we want to have layers (like Seg3D) as the metaphor? Yes, will allow us to use Seg3D code
** incluce both a master list of controls as well as a way to alter groups or individual panes
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
** may have to bypass ITK file reading to to pre-reading and then give user choices
* feature list:
** filters: median, Gaussian
** resampling of volume data
** crop
**histogram
# Expose existing SCIRun functionality
* import capablities
* saving out volumes from cropped, filters, resampled volumes
* saving images and movies
# Enhance functionality
* save and load sessions
* better transfer function controls
# New functionality
* multi-field vis; with and without locking of controls
* allow locking of features, perhaps groupwise in scaling
* maintain state for each pane
* using two fields together for 2D transfer function
* time dependent data
* adding annotations, landmarks, attach notes
* support for large scale data,
* support for gain field correction
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
== Implementation ==
== Results ==
5125
5124
2008-04-01T17:00:44Z
Macleod
3
/* Motivation and Overview */
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
The goals of ImageVis3D include the following:
# Convert and fix BioImage functionality in new framework
* todo: create a pipeline of features as master plan
* remove things from dataflow
* fix broken features: 2D Xfer function editor, painting in slices
* UI layout:
** include stack of operations and allow vis at different point
** do we want to have layers (like Seg3D) as the metaphor? Yes, will allow us to use Seg3D code
** incluce both a master list of controls as well as a way to alter groups or individual panes
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
** may have to bypass ITK file reading to to pre-reading and then give user choices
* feature list:
** filters: median, Gaussian
** resampling of volume data
** crop
**histogram
# Expose existing SCIRun functionality
* import capablities
* saving out volumes from cropped, filters, resampled volumes
* saving images and movies
# Enhance functionality
* save and load sessions
* better transfer function controls
# New functionality
* multi-field vis; with and without locking of controls
* allow locking of features, perhaps groupwise in scaling
* maintain state for each pane
* using two fields together for 2D transfer function
* time dependent data
* adding annotations, landmarks, attach notes
* support for large scale data,
* support for gain field correction
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
== Implementation ==
== Results ==
5126
5125
2008-04-01T18:01:54Z
Macleod
3
/* Design */
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
=== Feature list===
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
**histogram
<!-- -->
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* New functionality
** multi-field vis; with and without locking of controls
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** using two fields together for 2D transfer function
** time dependent data
** adding annotations, landmarks, attach notes
** support for large scale data,
** support for gain field correction
** masking and 3D painting (Jens is about to publish this)
** masking based on isosurface
- Stereo projection
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
<!-- -->
* Other ideas
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
== Implementation ==
== Results ==
5127
5126
2008-04-01T18:05:17Z
Macleod
3
/* Design */
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
**histogram
<!-- -->
* New functionality
** multi-field vis; with and without locking of controls
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** using two fields together for 2D transfer function
** time dependent data
** adding annotations, landmarks, attach notes
** support for large scale data,
** support for gain field correction
** masking and 3D painting (Jens is about to publish this)
** masking based on isosurface
** stereo projection
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
<!-- -->
* Other ideas
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
== Implementation ==
== Results ==
5128
5127
2008-04-01T18:06:41Z
Macleod
3
/* Meeting notes */
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
**histogram
<!-- -->
* New functionality
** multi-field vis; with and without locking of controls
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** using two fields together for 2D transfer function
** time dependent data
** adding annotations, landmarks, attach notes
** support for large scale data,
** support for gain field correction
** masking and 3D painting (Jens is about to publish this)
** masking based on isosurface
** stereo projection
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
<!-- -->
* Other ideas
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | March 6, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | March 10, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | March 26, 2008]]
== Implementation ==
== Results ==
5129
5128
2008-04-01T18:07:33Z
Macleod
3
/* Meeting notes */
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
**histogram
<!-- -->
* New functionality
** multi-field vis; with and without locking of controls
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** using two fields together for 2D transfer function
** time dependent data
** adding annotations, landmarks, attach notes
** support for large scale data,
** support for gain field correction
** masking and 3D painting (Jens is about to publish this)
** masking based on isosurface
** stereo projection
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
<!-- -->
* Other ideas
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-06 | March 6, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-10 | March 10, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-26 | March 26, 2008]]
== Implementation ==
== Results ==
5132
5129
2008-04-01T18:52:25Z
Macleod
3
/* Design */
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save images at higher than screen resolution
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
** histogram
** support for gain field correction
<!-- -->
* Visualization
** multi-field vis; with and without locking of controls
** time dependent data
** comparative vis (multiple sets of data)
** adding annotations, landmarks, attach notes
** support for large scale data,
** mask support
*** clipping planes
*** ellipsoid and other polylines
*** wedge cuts into the data (not possible with simple clipping plans)
*** import masks to apply over volume rendering
*** masking and 3D painting (Jens is about to publish this)
*** masking based on isosurface
** stereo projection
** level of detail support
** ridge enhancement and occluding contours
** silhouette lines
** control of surface highlights
** other non-photorealistic rendering techniques
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface (painting in image space that maps to histogram) is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
** using two fields together for 2D transfer function
<!-- -->
* Other ideas
** create resets that combine a set of useful settings, not just X-fer function
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-06 | March 6, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-10 | March 10, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-26 | March 26, 2008]]
== Implementation ==
== Results ==
5135
5132
2008-04-01T19:00:17Z
Macleod
3
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save images at higher than screen resolution
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
** histogram
** support for gain field correction
<!-- -->
* Visualization
** multi-field vis; with and without locking of controls
** time dependent data
** comparative vis (multiple sets of data)
** adding annotations, landmarks, attach notes
** support for large scale data,
** mask support
*** clipping planes
*** ellipsoid and other polylines
*** wedge cuts into the data (not possible with simple clipping plans)
*** import masks to apply over volume rendering
*** masking and 3D painting (Jens is about to publish this)
*** masking based on isosurface
** stereo projection
** level of detail support
** ridge enhancement and occluding contours
** silhouette lines
** control of surface highlights
** other non-photorealistic rendering techniques
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface (painting in image space that maps to histogram) is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
** using two fields together for 2D transfer function
<!-- -->
* Other ideas
** create resets that combine a set of useful settings, not just X-fer function
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-06 | March 6, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-10 | March 10, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-26 | March 26, 2008]]
== Implementation Plans==
== Results ==
5136
5135
2008-04-15T22:07:58Z
Macleod
3
/* Meeting notes */
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save images at higher than screen resolution
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
** histogram
** support for gain field correction
<!-- -->
* Visualization
** multi-field vis; with and without locking of controls
** time dependent data
** comparative vis (multiple sets of data)
** adding annotations, landmarks, attach notes
** support for large scale data,
** mask support
*** clipping planes
*** ellipsoid and other polylines
*** wedge cuts into the data (not possible with simple clipping plans)
*** import masks to apply over volume rendering
*** masking and 3D painting (Jens is about to publish this)
*** masking based on isosurface
** stereo projection
** level of detail support
** ridge enhancement and occluding contours
** silhouette lines
** control of surface highlights
** other non-photorealistic rendering techniques
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface (painting in image space that maps to histogram) is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
** using two fields together for 2D transfer function
<!-- -->
* Other ideas
** create resets that combine a set of useful settings, not just X-fer function
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-06 | March 6, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-10 | March 10, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-26 | March 26, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-15 | April 15, 2008]]
== Implementation Plans==
== Results ==
5149
5136
2008-04-15T22:20:30Z
Macleod
3
/* Meeting notes */
wikitext
text/x-wiki
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save images at higher than screen resolution
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
** histogram
** support for gain field correction
<!-- -->
* Visualization
** multi-field vis; with and without locking of controls
** time dependent data
** comparative vis (multiple sets of data)
** adding annotations, landmarks, attach notes
** support for large scale data,
** mask support
*** clipping planes
*** ellipsoid and other polylines
*** wedge cuts into the data (not possible with simple clipping plans)
*** import masks to apply over volume rendering
*** masking and 3D painting (Jens is about to publish this)
*** masking based on isosurface
** stereo projection
** level of detail support
** ridge enhancement and occluding contours
** silhouette lines
** control of surface highlights
** other non-photorealistic rendering techniques
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface (painting in image space that maps to histogram) is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
** using two fields together for 2D transfer function
<!-- -->
* Other ideas
** create resets that combine a set of useful settings, not just X-fer function
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-06 | March 6, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-10 | March 10, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-26 | March 26, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-03 | April 3, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-15 | April 15, 2008]]
== Implementation Plans==
== Results ==
5153
5149
2008-04-15T22:26:53Z
Macleod
3
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save images at higher than screen resolution
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
** histogram
** support for gain field correction
<!-- -->
* Visualization
** multi-field vis; with and without locking of controls
** time dependent data
** comparative vis (multiple sets of data)
** adding annotations, landmarks, attach notes
** support for large scale data,
** mask support
*** clipping planes
*** ellipsoid and other polylines
*** wedge cuts into the data (not possible with simple clipping plans)
*** import masks to apply over volume rendering
*** masking and 3D painting (Jens is about to publish this)
*** masking based on isosurface
** stereo projection
** level of detail support
** ridge enhancement and occluding contours
** silhouette lines
** control of surface highlights
** other non-photorealistic rendering techniques
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface (painting in image space that maps to histogram) is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
** using two fields together for 2D transfer function
<!-- -->
* Other ideas
** create resets that combine a set of useful settings, not just X-fer function
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-06 | March 6, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-10 | March 10, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-26 | March 26, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-03 | April 3, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-15 | April 15, 2008]]
== Implementation Plans==
== Results ==
5154
5153
2008-04-15T22:27:19Z
Macleod
3
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save images at higher than screen resolution
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
** histogram
** support for gain field correction
<!-- -->
* Visualization
** multi-field vis; with and without locking of controls
** time dependent data
** comparative vis (multiple sets of data)
** adding annotations, landmarks, attach notes
** support for large scale data,
** mask support
*** clipping planes
*** ellipsoid and other polylines
*** wedge cuts into the data (not possible with simple clipping plans)
*** import masks to apply over volume rendering
*** masking and 3D painting (Jens is about to publish this)
*** masking based on isosurface
** stereo projection
** level of detail support
** ridge enhancement and occluding contours
** silhouette lines
** control of surface highlights
** other non-photorealistic rendering techniques
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface (painting in image space that maps to histogram) is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
** using two fields together for 2D transfer function
<!-- -->
* Other ideas
** create resets that combine a set of useful settings, not just X-fer function
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-06 | March 6, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-10 | March 10, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-26 | March 26, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-03 | April 3, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-15 | April 15, 2008]]
== Implementation Plans==
== Results ==
5155
5154
2008-04-15T22:39:44Z
Macleod
3
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
===Functional blocks===
The design plan for this application consists of the following blocks, each assigned to one ore more members of the team:
# I/O: Jens
#* based on third party libraries but likely '''not''' ITK
#* internal format will be NRRD and we may write NRRD versions of the file to disk in the case of large data sets
# GUI: Design: all, Implementation: David
#* GUI must be separated from process control and not actually necessary for the program to run and execute
# Image Processing: Allen
#* very basic functionality with some simple filters, cropping, subsampling, etc.
# Visualization interface: Jens and Allen
#* interface to the multidimensional transfer function
# Rendering
#* use SLIVR
# Memory management: Jens
#* support multiple data types
#* seek high efficiency for large data sets
# Master process controller: Allen
#* coordinator and overall manager of the application
As much as possible, each block will be separated from all others with well defined interfaces. The master process controller has the task of integrating all the pieces and really defines the complete application.
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save images at higher than screen resolution
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
** histogram
** support for gain field correction
<!-- -->
* Visualization
** multi-field vis; with and without locking of controls
** time dependent data
** comparative vis (multiple sets of data)
** adding annotations, landmarks, attach notes
** support for large scale data,
** mask support
*** clipping planes
*** ellipsoid and other polylines
*** wedge cuts into the data (not possible with simple clipping plans)
*** import masks to apply over volume rendering
*** masking and 3D painting (Jens is about to publish this)
*** masking based on isosurface
** stereo projection
** level of detail support
** ridge enhancement and occluding contours
** silhouette lines
** control of surface highlights
** other non-photorealistic rendering techniques
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface (painting in image space that maps to histogram) is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
** using two fields together for 2D transfer function
<!-- -->
* Other ideas
** create resets that combine a set of useful settings, not just X-fer function
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-06 | March 6, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-10 | March 10, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-26 | March 26, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-03 | April 3, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-15 | April 15, 2008]]
== Implementation Plans==
== Results ==
CIBC:Project:ImageVis3D:Meetings:2008-02-07
0
2588
5110
2008-03-06T19:51:30Z
Macleod
3
wikitext
text/x-wiki
==ImageVis3D Meeting==
Allen, James, Jeroen, Dave, Rob, David
February 7, 2008
<ol>
<li>Outline personnel for the team
<ul>
<li>important note that focus has to be on renewal and associated goals
<li>that means we have to address collaborator needs
<li>need to set milestones and targets
</ul>
<li>Goal 1: convert and fix BioImage functionality in new framework
<ul>
<li>todo: create a pipeline of features as master plan
<li>remove things from dataflow
<li>fix broken features: 2D Xfer function editor, painting in slices
<li>UI layout:
<ul>
<li>include stack of operations and allow vis at different point
<li>do we want to have layers (like Seg3D) as the metaphor?
<ul>
<li>yes, will allow us to use Seg3D code
</ul>
<li>incluce both a master list of controls as well as a way
to alter groups or individual panes
<li>ITK-Snap has nice interface for loading data; use this as example
<ul>
<li>also allow subsampling of data as we read
<li>may have to bypass ITK file reading to to pre-reading and then
give user choices
</ul>
</ul>
<li>feature list:
<ul>
<li>filters: median, Gaussian
<li>resampling of volume data
<li>crop
<li>histogram
</ul>
</ul>
<li>Goal 2: expose existing SCIRun functionality
<ul>
<li>import capablities
<li>saving out volumes from cropped, filters, resampled volumes
<li>saving images and movies
</ul>
<li>Goal 3: enhance functionality
<ul>
<li>save and load sessions
<li>better transfer function controls
</ul>
<li>Goal 4: new functionality
<ul>
<li>multi-field vis; with and without locking of controls
<ul>
<li>allow locking of features, perhaps groupwise in scaling
<li>maintain state for each pane
</ul>
<li>using two fields together for 2D transfer function
<li>time dependent data
<li>adding annotations, landmarks, attach notes
<li>support for large scale data,
<li>support for gain field correction
</ul>
<li>Goals for next time:
<ul>
<li>key differntiating features
<ul>
<li>multidimensional transfer functions for great volume rendering
<li>multifield vis (Amira and Osirix will do this)
<li>time dependent data
<li>large data (Microview will do 4GB)
</ul>
<li>Mockup of UI
<li>Review software
<ul>
<li>Osirix: Allen
<li>Microview: David (windows)
<li>ITK Snap: James
<li>Amira
</ul>
<li>Review of collaborator needs
<ul>
<li>Dave
<li>Jeroen
<li>Rob
</ul>
<li>Candidate Data sets
<ul>
<li>Jeroen will ask for multimodel cell data
<li>torso data (CT and MRI)
<li>head dataset from Fanxiang
<li>Charles' data
0
</ul>
</ul>
</ol>
5140
5110
2008-04-15T22:15:12Z
Macleod
3
wikitext
text/x-wiki
==ImageVis3D Meeting==
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
Allen, James, Jeroen, Dave, Rob, David
February 7, 2008
<ol>
<li>Outline personnel for the team
<ul>
<li>important note that focus has to be on renewal and associated goals
<li>that means we have to address collaborator needs
<li>need to set milestones and targets
</ul>
<li>Goal 1: convert and fix BioImage functionality in new framework
<ul>
<li>todo: create a pipeline of features as master plan
<li>remove things from dataflow
<li>fix broken features: 2D Xfer function editor, painting in slices
<li>UI layout:
<ul>
<li>include stack of operations and allow vis at different point
<li>do we want to have layers (like Seg3D) as the metaphor?
<ul>
<li>yes, will allow us to use Seg3D code
</ul>
<li>incluce both a master list of controls as well as a way
to alter groups or individual panes
<li>ITK-Snap has nice interface for loading data; use this as example
<ul>
<li>also allow subsampling of data as we read
<li>may have to bypass ITK file reading to to pre-reading and then
give user choices
</ul>
</ul>
<li>feature list:
<ul>
<li>filters: median, Gaussian
<li>resampling of volume data
<li>crop
<li>histogram
</ul>
</ul>
<li>Goal 2: expose existing SCIRun functionality
<ul>
<li>import capablities
<li>saving out volumes from cropped, filters, resampled volumes
<li>saving images and movies
</ul>
<li>Goal 3: enhance functionality
<ul>
<li>save and load sessions
<li>better transfer function controls
</ul>
<li>Goal 4: new functionality
<ul>
<li>multi-field vis; with and without locking of controls
<ul>
<li>allow locking of features, perhaps groupwise in scaling
<li>maintain state for each pane
</ul>
<li>using two fields together for 2D transfer function
<li>time dependent data
<li>adding annotations, landmarks, attach notes
<li>support for large scale data,
<li>support for gain field correction
</ul>
<li>Goals for next time:
<ul>
<li>key differntiating features
<ul>
<li>multidimensional transfer functions for great volume rendering
<li>multifield vis (Amira and Osirix will do this)
<li>time dependent data
<li>large data (Microview will do 4GB)
</ul>
<li>Mockup of UI
<li>Review software
<ul>
<li>Osirix: Allen
<li>Microview: David (windows)
<li>ITK Snap: James
<li>Amira
</ul>
<li>Review of collaborator needs
<ul>
<li>Dave
<li>Jeroen
<li>Rob
</ul>
<li>Candidate Data sets
<ul>
<li>Jeroen will ask for multimodel cell data
<li>torso data (CT and MRI)
<li>head dataset from Fanxiang
<li>Charles' data
0
</ul>
</ul>
</ol>
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
5143
5140
2008-04-15T22:17:43Z
Macleod
3
/* ImageVis3D Meeting */
wikitext
text/x-wiki
==ImageVis3D Meeting==
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
Allen, James, Jeroen, Dave, Rob, David
February 7, 2008
<ol>
<li>Outline personnel for the team
<ul>
<li>important note that focus has to be on renewal and associated goals
<li>that means we have to address collaborator needs
<li>need to set milestones and targets
</ul>
<li>Goal 1: convert and fix BioImage functionality in new framework
<ul>
<li>todo: create a pipeline of features as master plan
<li>remove things from dataflow
<li>fix broken features: 2D Xfer function editor, painting in slices
<li>UI layout:
<ul>
<li>include stack of operations and allow vis at different point
<li>do we want to have layers (like Seg3D) as the metaphor?
<ul>
<li>yes, will allow us to use Seg3D code
</ul>
<li>incluce both a master list of controls as well as a way
to alter groups or individual panes
<li>ITK-Snap has nice interface for loading data; use this as example
<ul>
<li>also allow subsampling of data as we read
<li>may have to bypass ITK file reading to to pre-reading and then
give user choices
</ul>
</ul>
<li>feature list:
<ul>
<li>filters: median, Gaussian
<li>resampling of volume data
<li>crop
<li>histogram
</ul>
</ul>
<li>Goal 2: expose existing SCIRun functionality
<ul>
<li>import capablities
<li>saving out volumes from cropped, filters, resampled volumes
<li>saving images and movies
</ul>
<li>Goal 3: enhance functionality
<ul>
<li>save and load sessions
<li>better transfer function controls
</ul>
<li>Goal 4: new functionality
<ul>
<li>multi-field vis; with and without locking of controls
<ul>
<li>allow locking of features, perhaps groupwise in scaling
<li>maintain state for each pane
</ul>
<li>using two fields together for 2D transfer function
<li>time dependent data
<li>adding annotations, landmarks, attach notes
<li>support for large scale data,
<li>support for gain field correction
</ul>
<li>Goals for next time:
<ul>
<li>key differntiating features
<ul>
<li>multidimensional transfer functions for great volume rendering
<li>multifield vis (Amira and Osirix will do this)
<li>time dependent data
<li>large data (Microview will do 4GB)
</ul>
<li>Mockup of UI
<li>Review software
<ul>
<li>Osirix: Allen
<li>Microview: David (windows)
<li>ITK Snap: James
<li>Amira
</ul>
<li>Review of collaborator needs
<ul>
<li>Dave
<li>Jeroen
<li>Rob
</ul>
<li>Candidate Data sets
<ul>
<li>Jeroen will ask for multimodel cell data
<li>torso data (CT and MRI)
<li>head dataset from Fanxiang
<li>Charles' data
</ul>
</ul>
</ol>
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
CIBC:Project:ImageVis3D:Meetings:2008-02-14
0
2589
5111
2008-03-06T19:56:25Z
Macleod
3
wikitext
text/x-wiki
==ImageVis3D Meeting==
<p>ImageVis3D Meeting
</p>
<p>Allen, James, Jeroen, Dave, Rob, David<br/>
February 14
</p><hr/>
<ol>
<li>Goals for next time:
<ul>
<li>key differntiating features
<ul>
<li>multidimensional transfer functions for great volume rendering
<li>multifield vis (Amira and Osirix will do this)
<li>time dependent data
<li>quantitative evaluation of the data
<li>large data (Microview will do 4GB)
</ul>
<li>Mockup of UI
</ul>
<li>Review software
<ul>
<li>Osirix: Allen
<ul>
<li>based on VTk/ITK
<li>more for clinicians and scientists
<li>strength is viewing of data before reading
<ul>
<li>thumbnails from contents of databases
<li>management of databases is nice
</ul>
<li>does support multiple, indendent windows
<li>volume rendering based on isosurface, with some preset values
for skin, bone,
<li>uses control/status bar at the top of display
<li>mouse control is flexible, can be reassigned by user
<li>quick scrolling through images
<li>some segmentation support-but did not work as expected
<li>intensity/contrast setting apply to all views at once
<li>2D view is strong, 3D is usable
<li>to take from this
<ul>
<li>flexible view combinations, configurable
<li>each subwindow should have its own context
<li>envision a window like the map3d browser to manage the
display and database
<li>in each pane, have a way of setting features of the display
in that pane
<li>have a menu of color maps that the user can drop onto specific
panes; think about color table management
<li>include a watermark generator in saving images section
</ul>
<li>questions
<ul>
<li>what sort of operations do we plan to support?, e.g.,
image processing
<li>granularity of parameters will have to evolve; start with
coarse groupings of settings and spit out only as needed
</ul>
</ul>
<li>Microview: David (windows)
<ul>
<li>used tab views of interface elements, but user has to manually
delete tabs; tabs hold the provenance and allow user to reset
a previous setting, much like a module in SCIRun
<li>had slider bar for brightness/contrast, worked on all panes
<li>lacked opacity settings for isosurface display, not clear
how to get multiple surface
<li>no undo button for setting transfer function
<li>good help function, pop up
<li>good labeling, appears to be user settable
<li>color scheme was poor overall
<li>transfer function had histogram based interface that was
fairly complex and hard to use
<li>UI is not great, nonintuitive even though layouts sometimes good
<li>keeps some history and show the values changed in a separate
window
<li>isosurface render was very fast
<li>to take from this:
<ul>
<li>nice layout
<li>consider how to maintain provenance of operation
</ul>
<li>question:
<ul>
<li>could overlay geometry that it read from a file over the
rendering --it this useful?
<li>how do we manage provenance information
<li>scriptability: use Python? Need to figure this out
</ul>
</ul>
<li>ITK Snap: James
<ul>
<li>has interesting interface to filters
<li>offers preview function
<li>provides step by step instructions on segmentation process
<li>segmentation algo did not actually work
<li>needed more reset functions
<li>to take from this
<ul>
<li>preview is nice function when setting parameters
<li>has tutorial button at start up
<li>frame questions in terms of intuitive settings, e.g.,
higher quality, lower quality, or slower/faster, rather
than asking to set numbers that may not mean anything
</ul>
<li>questions
</ul>
<li>Amira
<ul>
<li>Review of collaborator needs
</ul>
<li>Dave
<li>Jeroen
<li>Rob
<ul>
<li>Candidate Data sets
</ul>
<li>Jeroen will ask for multimodel cell data
<li>torso data (CT and MRI): ue those from Eric Voth
<li>head dataset from Fanxiang
<ul>
<li>this looks good
</ul>
</ul>
<li>Next week
<ol>
<li> UI: Joeren
<li> Image processing features: Allen
<li> Rendering options and features: James
<li> Scripting: David
</ol>
</ol>
5141
5111
2008-04-15T22:16:12Z
Macleod
3
/* ImageVis3D Meeting */
wikitext
text/x-wiki
==ImageVis3D Meeting==
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
'''February 14'''
<p>Allen, James, Jeroen, Dave, Rob, David<br/>
</p><hr/>
<ol>
<li>Goals for next time:
<ul>
<li>key differntiating features
<ul>
<li>multidimensional transfer functions for great volume rendering
<li>multifield vis (Amira and Osirix will do this)
<li>time dependent data
<li>quantitative evaluation of the data
<li>large data (Microview will do 4GB)
</ul>
<li>Mockup of UI
</ul>
<li>Review software
<ul>
<li>Osirix: Allen
<ul>
<li>based on VTk/ITK
<li>more for clinicians and scientists
<li>strength is viewing of data before reading
<ul>
<li>thumbnails from contents of databases
<li>management of databases is nice
</ul>
<li>does support multiple, indendent windows
<li>volume rendering based on isosurface, with some preset values
for skin, bone,
<li>uses control/status bar at the top of display
<li>mouse control is flexible, can be reassigned by user
<li>quick scrolling through images
<li>some segmentation support-but did not work as expected
<li>intensity/contrast setting apply to all views at once
<li>2D view is strong, 3D is usable
<li>to take from this
<ul>
<li>flexible view combinations, configurable
<li>each subwindow should have its own context
<li>envision a window like the map3d browser to manage the
display and database
<li>in each pane, have a way of setting features of the display
in that pane
<li>have a menu of color maps that the user can drop onto specific
panes; think about color table management
<li>include a watermark generator in saving images section
</ul>
<li>questions
<ul>
<li>what sort of operations do we plan to support?, e.g.,
image processing
<li>granularity of parameters will have to evolve; start with
coarse groupings of settings and spit out only as needed
</ul>
</ul>
<li>Microview: David (windows)
<ul>
<li>used tab views of interface elements, but user has to manually
delete tabs; tabs hold the provenance and allow user to reset
a previous setting, much like a module in SCIRun
<li>had slider bar for brightness/contrast, worked on all panes
<li>lacked opacity settings for isosurface display, not clear
how to get multiple surface
<li>no undo button for setting transfer function
<li>good help function, pop up
<li>good labeling, appears to be user settable
<li>color scheme was poor overall
<li>transfer function had histogram based interface that was
fairly complex and hard to use
<li>UI is not great, nonintuitive even though layouts sometimes good
<li>keeps some history and show the values changed in a separate
window
<li>isosurface render was very fast
<li>to take from this:
<ul>
<li>nice layout
<li>consider how to maintain provenance of operation
</ul>
<li>question:
<ul>
<li>could overlay geometry that it read from a file over the
rendering --it this useful?
<li>how do we manage provenance information
<li>scriptability: use Python? Need to figure this out
</ul>
</ul>
<li>ITK Snap: James
<ul>
<li>has interesting interface to filters
<li>offers preview function
<li>provides step by step instructions on segmentation process
<li>segmentation algo did not actually work
<li>needed more reset functions
<li>to take from this
<ul>
<li>preview is nice function when setting parameters
<li>has tutorial button at start up
<li>frame questions in terms of intuitive settings, e.g.,
higher quality, lower quality, or slower/faster, rather
than asking to set numbers that may not mean anything
</ul>
<li>questions
</ul>
<li>Amira
<ul>
<li>Review of collaborator needs
</ul>
<li>Dave
<li>Jeroen
<li>Rob
<ul>
<li>Candidate Data sets
</ul>
<li>Jeroen will ask for multimodel cell data
<li>torso data (CT and MRI): ue those from Eric Voth
<li>head dataset from Fanxiang
<ul>
<li>this looks good
</ul>
</ul>
<li>Next week
<ol>
<li> UI: Joeren
<li> Image processing features: Allen
<li> Rendering options and features: James
<li> Scripting: David
</ol>
</ol>
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
CIBC:Project:ImageVis3D:Meetings:2008-02-21
0
2590
5112
2008-03-06T20:00:24Z
Macleod
3
wikitext
text/x-wiki
==ImageVis3D Meeting==
Allen, James, Jeroen, Dave, Rob, David
February 21, 2008
<ol>
<li>Image processing components (Allen)
<ul>
<li>how much do we need?
<li>image registration
<li>blurring filter
<li>interpolation
<li>intensity equalization (confocal)
</ul>
<li>Rendering
<ul>
<li>multidimensionl Xfer function
<ul>
<li>assigning different parameters to different dimensions
</ul>
<li>manage multivariate datasets
<li>isosurface extraction
<ul>
<li>multiple syrfaces
<li>surface transparancy
</ul>
<li>do not include vector valued data
</ul>
<li>Infracture
<ul>
<li>file reading and writing
<li>sessions saving/loading
<li>object/window management
<li>fly-through: later, if at all
</ul>
<li>Next week
<ul>
<li>ask for VisTrails person to come
<li>Jens will show his software
-
UI: Joeren
Image processing features: Allen
Rendering options and features: James
Scripting: David
</ul>
</ol>
5142
5112
2008-04-15T22:16:43Z
Macleod
3
/* ImageVis3D Meeting */
wikitext
text/x-wiki
==ImageVis3D Meeting==
'''February 21, 2008'''
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
Allen, James, Jeroen, Dave, Rob, David
<ol>
<li>Image processing components (Allen)
<ul>
<li>how much do we need?
<li>image registration
<li>blurring filter
<li>interpolation
<li>intensity equalization (confocal)
</ul>
<li>Rendering
<ul>
<li>multidimensionl Xfer function
<ul>
<li>assigning different parameters to different dimensions
</ul>
<li>manage multivariate datasets
<li>isosurface extraction
<ul>
<li>multiple syrfaces
<li>surface transparancy
</ul>
<li>do not include vector valued data
</ul>
<li>Infracture
<ul>
<li>file reading and writing
<li>sessions saving/loading
<li>object/window management
<li>fly-through: later, if at all
</ul>
<li>Next week
<ul>
<li>ask for VisTrails person to come
<li>Jens will show his software
-
UI: Joeren
Image processing features: Allen
Rendering options and features: James
Scripting: David
</ul>
</ol>
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
Main Page
0
1
5113
5101
2008-03-13T19:42:52Z
Erikj
2
/* Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
[[CIBC:Project:ImageVis3D | ImageVis3D Design and Development]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
[[Collab:test]]
5157
5113
2008-05-08T23:35:52Z
Erikj
2
/* Executive Materials */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
[[CIBC:Project:ImageVis3D | ImageVis3D Design and Development]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5158
5157
2008-07-02T21:38:35Z
Jeroen
19
/* Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
[[CIBC:Project:ImageVis3D | ImageVis3D Design and Development]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
Collab:Project:Afib
200
2591
5114
2008-03-13T20:01:05Z
Erikj
2
wikitext
text/x-wiki
Blah blah.
[[TestLatex|LaTeX Example Document]]
5116
5114
2008-03-13T20:03:31Z
Erikj
2
wikitext
text/x-wiki
[[TestLatex|LaTeX Example Document]]
Included bits:
[[test/MyBib]]
[[test/LatexDoc/Section1]]
File:OWWProtocols.png
6
2595
5119
2008-03-13T20:07:58Z
Erikj
2
Example image for LatexDoc.
wikitext
text/x-wiki
Example image for LatexDoc.
CIBC:Project:APP Interface dev
0
2583
5120
5098
2008-03-24T17:44:01Z
Mjc
35
/* ChangeFieldData */
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
=== Bundle ===
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
=== ChangeFieldData ===
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc (upandey)
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
<strike>
* ./ChangeFieldData/CalculateGradientsAlg.cc(Marty)
</strike>
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
=== ChangeMesh ===
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
=== Converters ===
* ./Converters/ConvertMatrixToStringAlg.cc
=== DataArrayMath ===
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
=== DataIO ===
<strike>
* ./DataIO/ReadBundleAlg.cc (James)
* ./DataIO/ReadColorMap2DAlg.cc (James)
* ./DataIO/ReadColorMapAlg.cc (James)
</strike>
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/ReadMatrixAlg.cc (James)
* ./DataIO/ReadPathAlg.cc (James)
* ./DataIO/ReadStringAlg.cc (James)
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteBundleAlg.cc (James)
* ./DataIO/WriteColorMap2DAlg.cc (James)
* ./DataIO/WriteColorMapAlg.cc (James)
* ./DataIO/WriteMatrixAlg.cc (James)
* ./DataIO/WritePathAlg.cc (James)
* ./DataIO/WriteStringAlg.cc (James)
</strike>
=== Math ===
* ./Math/AppendMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/SortMatrixAlg.cc
=== MiscField ===
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
=== NewField ===
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/JoinFieldsAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
=== String ===
* ./String/CreateStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/SplitFileNameAlg.cc
=== Time ===
* ./Time/TimeControlsAlg.cc
=== Visualization ===
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
=== Notes ===
# The writer code changes the unknown filetype from Binary to Text (see GenericWriter.cc and auto_ostream() in Persistent.cc). Is this really necessary?
5121
5120
2008-03-24T17:44:20Z
Mjc
35
/* ChangeFieldData */
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
=== Bundle ===
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
=== ChangeFieldData ===
<strike>
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc (upandey)
</strike>
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
<strike>
* ./ChangeFieldData/CalculateGradientsAlg.cc(Marty)
</strike>
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
=== ChangeMesh ===
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
=== Converters ===
* ./Converters/ConvertMatrixToStringAlg.cc
=== DataArrayMath ===
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
=== DataIO ===
<strike>
* ./DataIO/ReadBundleAlg.cc (James)
* ./DataIO/ReadColorMap2DAlg.cc (James)
* ./DataIO/ReadColorMapAlg.cc (James)
</strike>
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/ReadMatrixAlg.cc (James)
* ./DataIO/ReadPathAlg.cc (James)
* ./DataIO/ReadStringAlg.cc (James)
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteBundleAlg.cc (James)
* ./DataIO/WriteColorMap2DAlg.cc (James)
* ./DataIO/WriteColorMapAlg.cc (James)
* ./DataIO/WriteMatrixAlg.cc (James)
* ./DataIO/WritePathAlg.cc (James)
* ./DataIO/WriteStringAlg.cc (James)
</strike>
=== Math ===
* ./Math/AppendMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/SortMatrixAlg.cc
=== MiscField ===
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
=== NewField ===
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/JoinFieldsAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
=== String ===
* ./String/CreateStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/SplitFileNameAlg.cc
=== Time ===
* ./Time/TimeControlsAlg.cc
=== Visualization ===
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
=== Notes ===
# The writer code changes the unknown filetype from Binary to Text (see GenericWriter.cc and auto_ostream() in Persistent.cc). Is this really necessary?
5123
5121
2008-03-25T18:12:14Z
Upandey
55
/* ChangeFieldData */
wikitext
text/x-wiki
The following need code adapted from their module equivalents :
=== Bundle ===
* ./Bundle/CreateParameterBundleAlg.cc
* ./Bundle/GetBundlesFromBundleAlg.cc
* ./Bundle/GetColorMap2sFromBundleAlg.cc
* ./Bundle/GetColorMapsFromBundleAlg.cc
* ./Bundle/GetFieldsFromBundleAlg.cc
* ./Bundle/GetMatricesFromBundleAlg.cc
* ./Bundle/GetNrrdsFromBundleAlg.cc
* ./Bundle/GetPathsFromBundleAlg.cc
* ./Bundle/GetStringsFromBundleAlg.cc
* ./Bundle/InsertBundlesIntoBundleAlg.cc
* ./Bundle/InsertColorMap2sIntoBundleAlg.cc
* ./Bundle/InsertColorMapsIntoBundleAlg.cc
* ./Bundle/InsertEnvironmentIntoBundleAlg.cc
* ./Bundle/InsertFieldsIntoBundleAlg.cc
* ./Bundle/InsertMatricesIntoBundleAlg.cc
* ./Bundle/InsertNrrdsIntoBundleAlg.cc
* ./Bundle/InsertPathsIntoBundleAlg.cc
* ./Bundle/InsertStringsIntoBundleAlg.cc
* ./Bundle/JoinBundlesAlg.cc
* ./Bundle/ReportBundleInfoAlg.cc
=== ChangeFieldData ===
<strike>
* ./ChangeFieldData/ApplyMappingMatrixAlg.cc (upandey)
</strike>
* ./ChangeFieldData/CalculateFieldData2Alg.cc
* ./ChangeFieldData/CalculateFieldData3Alg.cc
* ./ChangeFieldData/CalculateFieldDataAlg.cc
* ./ChangeFieldData/CalculateFieldDataCompiledAlg.cc
<strike>
* ./ChangeFieldData/CalculateGradientsAlg.cc(Marty)
</strike>
* ./ChangeFieldData/CalculateInsideWhichFieldAlg.cc
* ./ChangeFieldData/CalculateLatVolGradientsAtNodesAlg.cc
* ./ChangeFieldData/CalculateNodeNormalsAlg.cc(upandey)
* ./ChangeFieldData/CalculateVectorMagnitudesAlg.cc(upandey)
* ./ChangeFieldData/ConvertFieldBasisAlg.cc
* ./ChangeFieldData/ConvertFieldDataTypeAlg.cc
* ./ChangeFieldData/ConvertLatVolDataFromElemToNodeAlg.cc(upandey)
* ./ChangeFieldData/ConvertLatVolDataFromNodeToElemAlg.cc(upandey)
* ./ChangeFieldData/CreateFieldDataAlg.cc
* ./ChangeFieldData/MapFieldDataFromSourceToDestinationAlg.cc
* ./ChangeFieldData/MaskLatVolWithTriSurfAlg.cc
* ./ChangeFieldData/ReportMeshQualityMeasuresAlg.cc
* ./ChangeFieldData/SelectAndSetFieldData3Alg.cc
* ./ChangeFieldData/SelectAndSetFieldDataAlg.cc
=== ChangeMesh ===
* ./ChangeMesh/CalculateMeshNodesAlg.cc
* ./ChangeMesh/ConvertMeshCoordinateSystemAlg.cc
* ./ChangeMesh/EditMeshBoundingBoxAlg.cc
* ./ChangeMesh/MapFieldDataToNodeCoordinateAlg.cc
* ./ChangeMesh/SmoothMeshAlg.cc
* ./ChangeMesh/SwapNodeLocationsWithMatrixEntriesAlg.cc
* ./ChangeMesh/TransformMeshWithFunctionAlg.cc
* ./ChangeMesh/TransformMeshWithTransformAlg.cc
* ./ChangeMesh/TransformPlanarMeshAlg.cc
=== Converters ===
* ./Converters/ConvertMatrixToStringAlg.cc
=== DataArrayMath ===
* ./DataArrayMath/AppendDataArraysAlg.cc
* ./DataArrayMath/CalculateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayAlg.cc
* ./DataArrayMath/CreateDataArrayFromIndicesAlg.cc
* ./DataArrayMath/CreateTensorArrayAlg.cc
* ./DataArrayMath/CreateVectorArrayAlg.cc
* ./DataArrayMath/DecomposeTensorArrayIntoEigenVectorsAlg.cc
* ./DataArrayMath/ReplicateDataArrayAlg.cc
* ./DataArrayMath/ReportDataArrayInfoAlg.cc
* ./DataArrayMath/ReportDataArrayMeasureAlg.cc
* ./DataArrayMath/SplitVectorArrayInXYZAlg.cc
=== DataIO ===
<strike>
* ./DataIO/ReadBundleAlg.cc (James)
* ./DataIO/ReadColorMap2DAlg.cc (James)
* ./DataIO/ReadColorMapAlg.cc (James)
</strike>
* ./DataIO/ReadHDF5FileAlg.cc
* ./DataIO/ReadMatrixAlg.cc (James)
* ./DataIO/ReadPathAlg.cc (James)
* ./DataIO/ReadStringAlg.cc (James)
* ./DataIO/StreamMatrixFromDiskAlg.cc
<strike>
* ./DataIO/WriteBundleAlg.cc (James)
* ./DataIO/WriteColorMap2DAlg.cc (James)
* ./DataIO/WriteColorMapAlg.cc (James)
* ./DataIO/WriteMatrixAlg.cc (James)
* ./DataIO/WritePathAlg.cc (James)
* ./DataIO/WriteStringAlg.cc (James)
</strike>
=== Math ===
* ./Math/AppendMatrixAlg.cc
* ./Math/BuildNoiseColumnMatrixAlg.cc
* ./Math/ChooseMatrixAlg.cc
* ./Math/CollectMatricesAlg.cc
* ./Math/ConvertMappingMatrixToMaskVectorAlg.cc
* ./Math/ConvertMaskVectorToMappingMatrixAlg.cc
* ./Math/ConvertMatrixTypeAlg.cc
* ./Math/CreateGeometricTransformAlg.cc
* ./Math/CreateMatrixAlg.cc
* ./Math/EvaluateLinAlgBinaryAlg.cc
* ./Math/EvaluateLinAlgGeneralAlg.cc
* ./Math/EvaluateLinAlgUnaryAlg.cc
* ./Math/GetColumnOrRowFromMatrixAlg.cc
* ./Math/GetSubmatrixAlg.cc
* ./Math/RemoveZeroRowsAndColumnsAlg.cc
* ./Math/RemoveZerosFromMatrixAlg.cc
* ./Math/ReorderMatrixByCuthillMcKeeAlg.cc
* ./Math/ReorderMatrixByReverseCuthillMcKeeAlg.cc
* ./Math/ReportColumnMatrixMisfitAlg.cc
* ./Math/ReportMatrixColumnMeasureAlg.cc
* ./Math/ReportMatrixInfoAlg.cc
* ./Math/ReportMatrixRowMeasureAlg.cc
* ./Math/ResizeMatrixAlg.cc
* ./Math/SolveLinearSystemAlg.cc
* ./Math/SolveMinNormLeastSqSystemAlg.cc
* ./Math/SortMatrixAlg.cc
=== MiscField ===
* ./MiscField/BuildMappingMatrixAlg.cc
* ./MiscField/BuildMatrixOfSurfaceNormalsAlg.cc
* ./MiscField/BuildPointCloudToLatVolMappingMatrixAlg.cc
* ./MiscField/ChooseFieldAlg.cc
* ./MiscField/CollectPointCloudsAlg.cc
* ./MiscField/CoregisterPointCloudsAlg.cc
* ./MiscField/ManageFieldSeriesAlg.cc
* ./MiscField/ReportFieldGeometryMeasuresAlg.cc
* ./MiscField/ReportFieldInfoAlg.cc
* ./MiscField/ReportScalarFieldStatsAlg.cc
* ./MiscField/ReportSearchGridInfoAlg.cc
* ./MiscField/SelectFieldROIWithBoxWidgetAlg.cc
* ./MiscField/SetFieldOrMeshStringPropertyAlg.cc
* ./MiscField/SetFieldPropertyAlg.cc
=== NewField ===
* ./NewField/ClipFieldByFunctionAlg.cc
* ./NewField/ClipFieldToFieldOrWidgetAlg.cc
* ./NewField/ClipFieldWithSeedAlg.cc
* ./NewField/ClipLatVolByIndicesOrWidgetAlg.cc
* ./NewField/ClipVolumeByIsovalueAlg.cc
* ./NewField/CollectFieldsAlg.cc
* ./NewField/ConvertMatricesToMeshAlg.cc
* ./NewField/CreateImageAlg.cc
* ./NewField/CreateLatVolAlg.cc
* ./NewField/CreateStructHexAlg.cc
* ./NewField/DecimateTriSurfAlg.cc
* ./NewField/ExtractIsosurfaceByFunctionAlg.cc
* ./NewField/FairMeshAlg.cc
* ./NewField/GeneratePointSamplesFromFieldAlg.cc
* ./NewField/GeneratePointSamplesFromFieldOrWidgetAlg.cc
* ./NewField/GenerateSinglePointProbeFromFieldAlg.cc
* ./NewField/GetAllSegmentationBoundariesAlg.cc
* ./NewField/GetCentroidsFromMeshAlg.cc
* ./NewField/GetSliceFromStructuredFieldByIndicesAlg.cc
* ./NewField/InsertHexVolSheetAlongSurfaceAlg.cc
* ./NewField/InterfaceWithCamalAlg.cc
* ./NewField/InterfaceWithCubitAlg.cc
* ./NewField/InterfaceWithTetGenAlg.cc
* ./NewField/JoinFieldsAlg.cc
* ./NewField/MergeFieldsAlg.cc
* ./NewField/MergeTriSurfsAlg.cc
* ./NewField/RefineMeshAlg.cc
* ./NewField/RefineMeshByIsovalue2Alg.cc
* ./NewField/RefineMeshByIsovalueAlg.cc
* ./NewField/RemoveHexVolSheetAlg.cc
* ./NewField/SubsampleStructuredFieldByIndicesAlg.cc
=== String ===
* ./String/CreateStringAlg.cc
* ./String/GetFileNameAlg.cc
* ./String/GetNetworkFileNameAlg.cc
* ./String/JoinStringsAlg.cc
* ./String/PrintMatrixIntoStringAlg.cc
* ./String/PrintStringIntoStringAlg.cc
* ./String/ReportStringInfoAlg.cc
* ./String/SplitFileNameAlg.cc
=== Time ===
* ./Time/TimeControlsAlg.cc
=== Visualization ===
* ./Visualization/ChooseColorMapAlg.cc
* ./Visualization/ColorMap2DSemanticsAlg.cc
* ./Visualization/ConvertFieldsToTextureAlg.cc
* ./Visualization/CreateAndEditColorMapAlg.cc
* ./Visualization/CreateLightForViewerAlg.cc
* ./Visualization/CreateViewerAxesAlg.cc
* ./Visualization/CreateViewerClockIconAlg.cc
* ./Visualization/GenerateStreamLinesAlg.cc
* ./Visualization/GenerateStreamLinesWithPlacementHeuristicAlg.cc
* ./Visualization/RescaleColorMapAlg.cc
* ./Visualization/ShowColorMapAlg.cc
* ./Visualization/ShowFieldGlyphsAlg.cc
* ./Visualization/ShowMatrixAlg.cc
* ./Visualization/ShowMeshBoundingBoxAlg.cc
* ./Visualization/ShowStringAlg.cc
* ./Visualization/ShowTextureSlicesAlg.cc
=== Notes ===
# The writer code changes the unknown filetype from Binary to Text (see GenericWriter.cc and auto_ostream() in Persistent.cc). Is this really necessary?
User:Upandey
2
2596
5122
2008-03-25T17:54:44Z
Erikj
2
wikitext
text/x-wiki
UmaKant Pandey
SCI Grad Student
CIBC:Project:ImageVis3D:Meetings:2008-03-06
0
2597
5130
2008-04-01T18:09:36Z
Macleod
3
wikitext
text/x-wiki
ImageVis3D Team Meeting
<p>March 6, 2008
</p>
<p>Dave, Jeroen, Rob, Allen, David
</p>
<ol>
<li>Discuss Jens software for its leveraging potiential
</li><li>Still to check out
<ul>
<li>Paraview
<a href="http://www.paraview.org">http://www.paraview.org</a>
<ul>
<li>DOE ASCII product
</li><li>parallel implementations
</li><li>VISIT is the VACET counterpart with similar capabilities
</li><li>ITK supported but with some of the VTK support replaced for
higher efficiency
</li><li>not clear who the target audience is
</li></ul>
</li><li>Metamorph
<a href="http://www.moleculardevices.com/pages/software/metamorph.html">http://www.moleculardevices.com/pages/software/metamorph.html</a>
</li><li>TU Wien
<a href="http://www.cg.tuwien.ac.at/research/publications/2007/bruckner-2007-STF/">http://www.cg.tuwien.ac.at/research/publications/2007/bruckner-2007-STF/</a>
<ul>
<li>no software obviously available but some nice papers showing
what they have done
</li></ul>
</li></ul>
</li><li>Defining scope
<ul>
<li>goal: we still need to get more of our research into ImageVis3D
<ul>
<li>multi dimensional transfer function
</li><li>ridge enhancement and occluding contours
</li><li>sillouette lines
</li><li>more non-photoralistic rendering
</li><li>our goal is cover art
</li></ul>
</li><li>other features to look for
<ul>
<li>comparative vis
</li><li>large data sets
</li><li>time dependent data
</li><li>multifield data
</li></ul>
</li><li>Charles had a list with JR; need to follow up
</li><li>SCIRUn better than BioImage
<ul>
<li>add multiple elements to visualization
</li><li>generate high res images
</li><li>what is hard in SR is setting up X-fer function, rendering
parameters
</li></ul>
</li><li>accepting masks to overlay the VR
</li><li>illustrative volume rendering (SCI seminar)
</li></ul>
</li><li>Interface improvements:
<ul>
<li>to X-fer function
<ul>
<li>Dave has a pointer to another way of presenting plot of parameters
in Xfer function
</li><li>control of surface highlights also needs improvment
</li><li>painting in image space linking to histogram space also great
functionality
</li><li>masking out regions of data to help tune the X-fer function based
on local values
<ul>
<li>clipping planes are the simplest
</li><li>ellipsoid is the next in complexity
</li><li>polyline a la Osirix
</li></ul>
</li></ul>
</li><li>create/remove wedges or other shapes from volume
</li><li>make sets of settings in single button
</li><li>time-dependent
<ul>
<li>one option is to read all the data into memory
</li><li>other approaches exist but are complex
</li></ul>
</li></ul>
</li></ol>
5131
5130
2008-04-01T18:41:15Z
Macleod
3
wikitext
text/x-wiki
==ImageVis3D Team Meeting==
'''March 6, 2008'''
<p>Dave, Jeroen, Rob, Allen, David
</p>
<ol>
<li>Still to check out
<ul>
<li>Paraview
<a href="http://www.paraview.org"> http://www.paraview.org</a>
<ul>
<li>DOE ASCII product
</li><li>parallel implementations
</li><li>VISIT is the VACET counterpart with similar capabilities
</li><li>ITK supported but with some of the VTK support replaced for higher efficiency
</li><li>not clear who the target audience is
</li></ul>
</li><li>Metamorph
<a href="http://www.moleculardevices.com/pages/software/metamorph.html">
http://www.moleculardevices.com/pages/software/metamorph.html</a>
</li><li>TU Wien
<a href="http://www.cg.tuwien.ac.at/research/publications/2007/bruckner-2007-STF/">
http://www.cg.tuwien.ac.at/research/publications/2007/bruckner-2007-STF/</a>
<ul>
<li>no software obviously available but some nice papers showing
what they have done
</li></ul>
</li></ul>
</li><li>Defining scope
<ul>
<li>goal: we still need to get more of our research into ImageVis3D
<ul>
<li>multi dimensional transfer function
</li><li>ridge enhancement and occluding contours
</li><li>sillouette lines
</li><li>more non-photoralistic rendering
</li><li>our goal is cover art
</li></ul>
</li><li>other features to look for
<ul>
<li>comparative vis
</li><li>large data sets
</li><li>time dependent data
</li><li>multifield data
</li></ul>
</li><li>Charles had a list with JR; need to follow up
</li><li>SCIRUn better than BioImage
<ul>
<li>add multiple elements to visualization
</li><li>generate high res images
</li><li>what is hard in SR is setting up X-fer function, rendering parameters
</li></ul>
</li><li>accepting masks to overlay the VR
</li><li>illustrative volume rendering (SCI seminar)
</li></ul>
</li><li>Interface improvements:
<ul>
<li>to X-fer function
<ul>
<li>Dave has a pointer to another way of presenting plot of parameters
in Xfer function
</li><li>control of surface highlights also needs improvment
</li><li>painting in image space linking to histogram space also great functionality
</li><li>masking out regions of data to help tune the X-fer function based on local values
<ul>
<li>clipping planes are the simplest
</li><li>ellipsoid is the next in complexity
</li><li>polyline a la Osirix
</li></ul>
</li></ul>
</li><li>create/remove wedges or other shapes from volume
</li><li>make sets of settings in single button
</li><li>time-dependent
<ul>
<li>one option is to read all the data into memory
</li><li>other approaches exist but are complex
</li></ul>
</li></ul>
</li></ol>
5145
5131
2008-04-15T22:18:30Z
Macleod
3
/* ImageVis3D Team Meeting */
wikitext
text/x-wiki
==ImageVis3D Team Meeting==
'''March 6, 2008'''
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
<p>Dave, Jeroen, Rob, Allen, David
</p>
<ol>
<li>Still to check out
<ul>
<li>Paraview
<a href="http://www.paraview.org"> http://www.paraview.org</a>
<ul>
<li>DOE ASCII product
</li><li>parallel implementations
</li><li>VISIT is the VACET counterpart with similar capabilities
</li><li>ITK supported but with some of the VTK support replaced for higher efficiency
</li><li>not clear who the target audience is
</li></ul>
</li><li>Metamorph
<a href="http://www.moleculardevices.com/pages/software/metamorph.html">
http://www.moleculardevices.com/pages/software/metamorph.html</a>
</li><li>TU Wien
<a href="http://www.cg.tuwien.ac.at/research/publications/2007/bruckner-2007-STF/">
http://www.cg.tuwien.ac.at/research/publications/2007/bruckner-2007-STF/</a>
<ul>
<li>no software obviously available but some nice papers showing
what they have done
</li></ul>
</li></ul>
</li><li>Defining scope
<ul>
<li>goal: we still need to get more of our research into ImageVis3D
<ul>
<li>multi dimensional transfer function
</li><li>ridge enhancement and occluding contours
</li><li>sillouette lines
</li><li>more non-photoralistic rendering
</li><li>our goal is cover art
</li></ul>
</li><li>other features to look for
<ul>
<li>comparative vis
</li><li>large data sets
</li><li>time dependent data
</li><li>multifield data
</li></ul>
</li><li>Charles had a list with JR; need to follow up
</li><li>SCIRUn better than BioImage
<ul>
<li>add multiple elements to visualization
</li><li>generate high res images
</li><li>what is hard in SR is setting up X-fer function, rendering parameters
</li></ul>
</li><li>accepting masks to overlay the VR
</li><li>illustrative volume rendering (SCI seminar)
</li></ul>
</li><li>Interface improvements:
<ul>
<li>to X-fer function
<ul>
<li>Dave has a pointer to another way of presenting plot of parameters
in Xfer function
</li><li>control of surface highlights also needs improvment
</li><li>painting in image space linking to histogram space also great functionality
</li><li>masking out regions of data to help tune the X-fer function based on local values
<ul>
<li>clipping planes are the simplest
</li><li>ellipsoid is the next in complexity
</li><li>polyline a la Osirix
</li></ul>
</li></ul>
</li><li>create/remove wedges or other shapes from volume
</li><li>make sets of settings in single button
</li><li>time-dependent
<ul>
<li>one option is to read all the data into memory
</li><li>other approaches exist but are complex
</li></ul>
</li></ul>
</li></ol>
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
CIBC:Project:ImageVis3D:Meetings:2008-03-10
0
2598
5133
2008-04-01T18:56:34Z
Macleod
3
wikitext
text/x-wiki
==SLIVR Meeting==
'''March 10, 2008'''
Marty, Jens, Jereen, Chris, Rob, Michael, David, Allen
<ol>
<li>General side question: ray casting? Should we implement it?
<ul>
<li>has advantages but needs relatively new hardware
</li><li>we want to have a smooth path to this approach
</li><li>to support this, make inner rendering loop as clean as possible
</li><li>ray casting will give us performance advantages but also better quatity isosurfacing
</li></ul>
<li>Michael's proposal
<ul>
<li>Refactoring the volume rendering
</li><li>Build new shaders
<ul>
<li>will reqiore some new UI elements to control new shaders
</li><li>allow easy addition of new shaders (currently very hard)
</li></ul>
</li><li>Handle multiple volumes
<ul>
<li>new functionality we don't have
</li></ul>
</li><li>Implement generalized bricking
</li></ul>
</li><li>Time line
<ul>
<li>"few weeks" of Michael's time
</li><li>perform then in order above
5146
5133
2008-04-15T22:18:52Z
Macleod
3
/* SLIVR Meeting */
wikitext
text/x-wiki
==SLIVR Meeting==
'''March 10, 2008'''
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
Marty, Jens, Jereen, Chris, Rob, Michael, David, Allen
<ol>
<li>General side question: ray casting? Should we implement it?
<ul>
<li>has advantages but needs relatively new hardware
</li><li>we want to have a smooth path to this approach
</li><li>to support this, make inner rendering loop as clean as possible
</li><li>ray casting will give us performance advantages but also better quatity isosurfacing
</li></ul>
<li>Michael's proposal
<ul>
<li>Refactoring the volume rendering
</li><li>Build new shaders
<ul>
<li>will reqiore some new UI elements to control new shaders
</li><li>allow easy addition of new shaders (currently very hard)
</li></ul>
</li><li>Handle multiple volumes
<ul>
<li>new functionality we don't have
</li></ul>
</li><li>Implement generalized bricking
</li></ul>
</li><li>Time line
<ul>
<li>"few weeks" of Michael's time
</li><li>perform then in order above
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
5147
5146
2008-04-15T22:19:00Z
Macleod
3
wikitext
text/x-wiki
==SLIVR Meeting==
'''March 10, 2008'''
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
Marty, Jens, Jereen, Chris, Rob, Michael, David, Allen
<ol>
<li>General side question: ray casting? Should we implement it?
<ul>
<li>has advantages but needs relatively new hardware
</li><li>we want to have a smooth path to this approach
</li><li>to support this, make inner rendering loop as clean as possible
</li><li>ray casting will give us performance advantages but also better quatity isosurfacing
</li></ul>
<li>Michael's proposal
<ul>
<li>Refactoring the volume rendering
</li><li>Build new shaders
<ul>
<li>will reqiore some new UI elements to control new shaders
</li><li>allow easy addition of new shaders (currently very hard)
</li></ul>
</li><li>Handle multiple volumes
<ul>
<li>new functionality we don't have
</li></ul>
</li><li>Implement generalized bricking
</li></ul>
</li><li>Time line
<ul>
<li>"few weeks" of Michael's time
</li><li>perform then in order above
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
CIBC:Project:ImageVis3D:Meetings:2008-03-26
0
2599
5134
2008-04-01T18:59:34Z
Macleod
3
wikitext
text/x-wiki
==ImageVis3D Meeting==
'''March 26, 2008'''
Jens, David, Allen, Rob
<ol>
<li>More ideas for features
<ul>
<li>masking and 3D painting (Jens is about to publish this)
</li><li>masking based on isosurface
</li><li>Stereo projection
</li></ul>
</li><li>Overall design
<ul>
<li>Separation of UI and backend
<ul>
<li>further separate backend into graphics and non-graphics components
</li><li>separate classes for created transfer functions and rendering based on the transfer function
</li></ul>
</li><li>Achieving re-use?
<ul>
<li>make use of SLIVR
</li><li>read files via same codes as Seg3D
</li><li>data structures from SCIRun
</li></ul>
</li><li>File reading and I/O engine
<ul>
<li>base on ITK but anticipate replacing
</li><li>consider 4D from the start
<ul>
<li>are there formats for this?
</li></ul>
</li><li>consider large data sets from the start
<ul>
<li>must be part of the file reader
</li></ul>
</li></ul>
</li><li>New UI elements
<ul>
<li>interface to multidimensional X-fer function
<ul>
<li>different UI for different dimensions
</li><li>how to design a good UI ? TOdo: ask Dave to think about it
<ul>
<li>draw interface
</li><li>separate this capability well from the rest of the code
</li><li>include some presets and a way to add presets
</li></ul>
</li></ul>
</li></ul>
</li></ul>
</li><li>Interface with SLIVR
<ul>
<li>ask Michael and Marty to come to us and explain SLIVR
</li><li>we will need to interface to it well
</li><li>can we integrate level of detail capabilities to SLIVR?
</li><li>how does SLIVR handle large data now?
</li></ul>
</li></ol>
5148
5134
2008-04-15T22:19:25Z
Macleod
3
/* ImageVis3D Meeting */
wikitext
text/x-wiki
==ImageVis3D Meeting==
'''March 26, 2008'''
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
Jens, David, Allen, Rob
<ol>
<li>More ideas for features
<ul>
<li>masking and 3D painting (Jens is about to publish this)
</li><li>masking based on isosurface
</li><li>Stereo projection
</li></ul>
</li><li>Overall design
<ul>
<li>Separation of UI and backend
<ul>
<li>further separate backend into graphics and non-graphics components
</li><li>separate classes for created transfer functions and rendering based on the transfer function
</li></ul>
</li><li>Achieving re-use?
<ul>
<li>make use of SLIVR
</li><li>read files via same codes as Seg3D
</li><li>data structures from SCIRun
</li></ul>
</li><li>File reading and I/O engine
<ul>
<li>base on ITK but anticipate replacing
</li><li>consider 4D from the start
<ul>
<li>are there formats for this?
</li></ul>
</li><li>consider large data sets from the start
<ul>
<li>must be part of the file reader
</li></ul>
</li></ul>
</li><li>New UI elements
<ul>
<li>interface to multidimensional X-fer function
<ul>
<li>different UI for different dimensions
</li><li>how to design a good UI ? TOdo: ask Dave to think about it
<ul>
<li>draw interface
</li><li>separate this capability well from the rest of the code
</li><li>include some presets and a way to add presets
</li></ul>
</li></ul>
</li></ul>
</li></ul>
</li><li>Interface with SLIVR
<ul>
<li>ask Michael and Marty to come to us and explain SLIVR
</li><li>we will need to interface to it well
</li><li>can we integrate level of detail capabilities to SLIVR?
</li><li>how does SLIVR handle large data now?
</li></ul>
</li></ol>
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
CIBC:Project:ImageVis3D:Meetings:2008-04-15
0
2600
5137
2008-04-15T22:10:53Z
Macleod
3
wikitext
text/x-wiki
<p>ImageVis3D Meeting
</p>
<p>April 15
</p>
<p>Allen, Jens, David, Dave, Jeroen, Rob
</p>
<ol>
<li>Allen's presentation of plan
<ul>
<li>Now vs. later
<ul>
<li>what do we need in order to release something?
<ul>
<li>should at least cover most or all of BioImage functionality
</li><li>load a data set (SR, NRRDS, Dicom, Matlab),
</li><li>orthogonal slice view
</li><li>change color maps
</li><li>volume rendering, with Xfer function editor;
</li><li>paint on slice view to change Xfer function
</li><li>crop and reorient image data
</li><li>resampling, histogram equalization, median filtering
</li><li>viewing options from SR Viewer
</li></ul>
</li><li>BioImage is broken now
<ul>
<li>we need to replace all the functionality of BioImage as a minium
</li></ul>
</li><li>Marty's app
<ul>
<li>has a few things but is missing a lot
</li></ul>
</li></ul>
</li><li>I/O Engine
<ul>
<li>use Seg3D engine (ITK)
</li><li>verison 1.0 can be the same level of support as Seg3D
</li><li>later, we will need to handle larger data
<ul>
<li>look to Numira for support on this
</li></ul>
</li><li>consider saving files in NRRD and read from them
</li><li>file reading becomes mostly file conversion
</li></ul>
</li><li>Image processing
<ul>
<li>could be based on ITK
<ul>
<li>requires a lot of conversion at present
</li></ul>
</li><li>but the needs are simple enough and we have code around, we can write ourselves
<ul>
<li>would reduce need for conversion; stay in NRRD
</li><li>TEEM has a lots of image processing tools too
</li></ul>
</li></ul>
</li><li>GUI
<ul>
<li>separate GUI layer from actual application layer
</li><li>Undo functionality
<ul>
<li>transfer function easy to keep some history
</li><li>image processing hard to keep copies; one solution is to save most recent generation;
<ul>
<li>another solution is regenerate; save all of the operation stack
</li><li>need to make UI to manage the command stack
</li><li>idea: allow user to bookmark a place in a workflow that is saved in a temporary file
</li></ul>
</li></ul>
</li></ul>
</li></ul>
</li><li>What to use from Seg3D
<ul>
<li>almost nothing
</li><li>use some of SCIRun
</li></ul>
</li><li>Overall GUI design
<ul>
<li>topic for next week's meeting
</li></ul>
</li><li>Assignments for next week (and beyond)
<ul>
<li>all: look at Marty's app
</li><li>Allen: Linux
</li><li>Jens/David: windows
</li><li>Jeroen: OSX
</li><li>Image processing engine: Allen
</li><li>Vis interface: Jens and Allen
</li><li>GUI: David
</li><li>I/O: Jens
</li><li>Memory management: Jens
</li><li>Master/process control: Allen
</li></ul>
</li></ol>
5138
5137
2008-04-15T22:12:14Z
Macleod
3
wikitext
text/x-wiki
==ImageVis3D Meeting==
'''April 15'''
<p>Allen, Jens, David, Dave, Jeroen, Rob
</p>
<ol>
<li>Allen's presentation of plan
<ul>
<li>Now vs. later
<ul>
<li>what do we need in order to release something?
<ul>
<li>should at least cover most or all of BioImage functionality
</li><li>load a data set (SR, NRRDS, Dicom, Matlab),
</li><li>orthogonal slice view
</li><li>change color maps
</li><li>volume rendering, with Xfer function editor;
</li><li>paint on slice view to change Xfer function
</li><li>crop and reorient image data
</li><li>resampling, histogram equalization, median filtering
</li><li>viewing options from SR Viewer
</li></ul>
</li><li>BioImage is broken now
<ul>
<li>we need to replace all the functionality of BioImage as a minium
</li></ul>
</li><li>Marty's app
<ul>
<li>has a few things but is missing a lot
</li></ul>
</li></ul>
</li><li>I/O Engine
<ul>
<li>use Seg3D engine (ITK)
</li><li>verison 1.0 can be the same level of support as Seg3D
</li><li>later, we will need to handle larger data
<ul>
<li>look to Numira for support on this
</li></ul>
</li><li>consider saving files in NRRD and read from them
</li><li>file reading becomes mostly file conversion
</li></ul>
</li><li>Image processing
<ul>
<li>could be based on ITK
<ul>
<li>requires a lot of conversion at present
</li></ul>
</li><li>but the needs are simple enough and we have code around, we can write ourselves
<ul>
<li>would reduce need for conversion; stay in NRRD
</li><li>TEEM has a lots of image processing tools too
</li></ul>
</li></ul>
</li><li>GUI
<ul>
<li>separate GUI layer from actual application layer
</li><li>Undo functionality
<ul>
<li>transfer function easy to keep some history
</li><li>image processing hard to keep copies; one solution is to save most recent generation;
<ul>
<li>another solution is regenerate; save all of the operation stack
</li><li>need to make UI to manage the command stack
</li><li>idea: allow user to bookmark a place in a workflow that is saved in a temporary file
</li></ul>
</li></ul>
</li></ul>
</li></ul>
</li><li>What to use from Seg3D
<ul>
<li>almost nothing
</li><li>use some of SCIRun
</li></ul>
</li><li>Overall GUI design
<ul>
<li>topic for next week's meeting
</li></ul>
</li><li>Assignments for next week (and beyond)
<ul>
<li>all: look at Marty's app
</li><li>Allen: Linux
</li><li>Jens/David: windows
</li><li>Jeroen: OSX
</li><li>Image processing engine: Allen
</li><li>Vis interface: Jens and Allen
</li><li>GUI: David
</li><li>I/O: Jens
</li><li>Memory management: Jens
</li><li>Master/process control: Allen
</li></ul>
</li></ol>
5139
5138
2008-04-15T22:14:48Z
Macleod
3
wikitext
text/x-wiki
==ImageVis3D Meeting==
'''April 15'''
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
<p>Allen, Jens, David, Dave, Jeroen, Rob
</p>
<ol>
<li>Allen's presentation of plan
<ul>
<li>Now vs. later
<ul>
<li>what do we need in order to release something?
<ul>
<li>should at least cover most or all of BioImage functionality
</li><li>load a data set (SR, NRRDS, Dicom, Matlab),
</li><li>orthogonal slice view
</li><li>change color maps
</li><li>volume rendering, with Xfer function editor;
</li><li>paint on slice view to change Xfer function
</li><li>crop and reorient image data
</li><li>resampling, histogram equalization, median filtering
</li><li>viewing options from SR Viewer
</li></ul>
</li><li>BioImage is broken now
<ul>
<li>we need to replace all the functionality of BioImage as a minium
</li></ul>
</li><li>Marty's app
<ul>
<li>has a few things but is missing a lot
</li></ul>
</li></ul>
</li><li>I/O Engine
<ul>
<li>use Seg3D engine (ITK)
</li><li>verison 1.0 can be the same level of support as Seg3D
</li><li>later, we will need to handle larger data
<ul>
<li>look to Numira for support on this
</li></ul>
</li><li>consider saving files in NRRD and read from them
</li><li>file reading becomes mostly file conversion
</li></ul>
</li><li>Image processing
<ul>
<li>could be based on ITK
<ul>
<li>requires a lot of conversion at present
</li></ul>
</li><li>but the needs are simple enough and we have code around, we can write ourselves
<ul>
<li>would reduce need for conversion; stay in NRRD
</li><li>TEEM has a lots of image processing tools too
</li></ul>
</li></ul>
</li><li>GUI
<ul>
<li>separate GUI layer from actual application layer
</li><li>Undo functionality
<ul>
<li>transfer function easy to keep some history
</li><li>image processing hard to keep copies; one solution is to save most recent generation;
<ul>
<li>another solution is regenerate; save all of the operation stack
</li><li>need to make UI to manage the command stack
</li><li>idea: allow user to bookmark a place in a workflow that is saved in a temporary file
</li></ul>
</li></ul>
</li></ul>
</li></ul>
</li><li>What to use from Seg3D
<ul>
<li>almost nothing
</li><li>use some of SCIRun
</li></ul>
</li><li>Overall GUI design
<ul>
<li>topic for next week's meeting
</li></ul>
</li><li>Assignments for next week (and beyond)
<ul>
<li>all: look at Marty's app
</li><li>Allen: Linux
</li><li>Jens/David: windows
</li><li>Jeroen: OSX
</li><li>Image processing engine: Allen
</li><li>Vis interface: Jens and Allen
</li><li>GUI: David
</li><li>I/O: Jens
</li><li>Memory management: Jens
</li><li>Master/process control: Allen
</li></ul>
</li></ol>
CIBC:Project:ImageVis3D:Meetings:2008-04-03
0
2601
5150
2008-04-15T22:21:12Z
Macleod
3
wikitext
text/x-wiki
== ImageVis3D Meeting ==
'''April 4, 2008'''
<ol>
<li>SLIVR
<ul>
<li>use the quick application that Marty wrote as a starting point
<ul>
<li>uses QT and python
</li><li>standalone/bioimage is there this app lives
</li><li>event system is the same as Seg3D
</li></ul>
</li><li>SLIVR is tied into Visit (Vacet SW)
</li><li>Michael will get to the rewerite in the next week or two
</li><li>Allen will dig into the code in two weeks
</li><li>large data handling
<ul>
<li>support for bricks
</li><li>little LOD support, can draw fewer slices
</li><li>also plan was to keep low res texture around while user moves
data around
</li></ul>
</li></ul>
</li><li>2D Xfer function UI
<ul>
<li>painting is useful
</li><li>reading in 1D Xfer function as scanning tool
</li><li>Dave mentioned some research from the NL that might be useful
</li><li>MIRL group paper has some ideas
-
</li></ul>
</li><li>Time dependence
<ul>
<li>much of the computing happens on the card so is fast
</li><li>preformance is pretty good as long as memory adequate
-
</li></ul>
</li><li>Multiresolutions
<ul>
<li>draw multiplle volumes at different resolutions
</li><li>e.g., high res heart in a low res torso
</li><li>each v olume has its own parameters for display, Xfer function
</li></ul>
</li></ol>
5151
5150
2008-04-15T22:22:03Z
Macleod
3
wikitext
text/x-wiki
== ImageVis3D Meeting ==
'''April 4, 2008'''
[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
<ol>
<li>SLIVR
<ul>
<li>use the quick application that Marty wrote as a starting point
<ul>
<li>uses QT and python
</li><li>standalone/bioimage is there this app lives
</li><li>event system is the same as Seg3D
</li></ul>
</li><li>SLIVR is tied into Visit (Vacet SW)
</li><li>Michael will get to the rewerite in the next week or two
</li><li>Allen will dig into the code in two weeks
</li><li>large data handling
<ul>
<li>support for bricks
</li><li>little LOD support, can draw fewer slices
</li><li>also plan was to keep low res texture around while user moves data around
</li></ul>
</li></ul>
</li><li>2D Xfer function UI
<ul>
<li>painting is useful
</li><li>reading in 1D Xfer function as scanning tool
</li><li>Dave mentioned some research from the NL that might be useful
</li><li>MIRL group paper has some ideas
</li></ul>
</li><li>Time dependence
<ul>
<li>much of the computing happens on the card so is fast
</li><li>preformance is pretty good as long as memory adequate
</li></ul>
</li><li>Multiresolutions
<ul>
<li>draw multiplle volumes at different resolutions
</li><li>e.g., high res heart in a low res torso
</li><li>each v olume has its own parameters for display, Xfer function
</li></ul>
</li></ol>
[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
5152
5151
2008-04-15T22:22:24Z
Macleod
3
/* ImageVis3D Meeting */
wikitext
text/x-wiki
== ImageVis3D Meeting ==
'''April 4, 2008'''
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
<ol>
<li>SLIVR
<ul>
<li>use the quick application that Marty wrote as a starting point
<ul>
<li>uses QT and python
</li><li>standalone/bioimage is there this app lives
</li><li>event system is the same as Seg3D
</li></ul>
</li><li>SLIVR is tied into Visit (Vacet SW)
</li><li>Michael will get to the rewerite in the next week or two
</li><li>Allen will dig into the code in two weeks
</li><li>large data handling
<ul>
<li>support for bricks
</li><li>little LOD support, can draw fewer slices
</li><li>also plan was to keep low res texture around while user moves data around
</li></ul>
</li></ul>
</li><li>2D Xfer function UI
<ul>
<li>painting is useful
</li><li>reading in 1D Xfer function as scanning tool
</li><li>Dave mentioned some research from the NL that might be useful
</li><li>MIRL group paper has some ideas
</li></ul>
</li><li>Time dependence
<ul>
<li>much of the computing happens on the card so is fast
</li><li>preformance is pretty good as long as memory adequate
</li></ul>
</li><li>Multiresolutions
<ul>
<li>draw multiplle volumes at different resolutions
</li><li>e.g., high res heart in a low res torso
</li><li>each v olume has its own parameters for display, Xfer function
</li></ul>
</li></ol>
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
User:Ayla
2
2602
5156
2008-05-01T19:11:19Z
Erikj
2
wikitext
text/x-wiki
Ayla Khan
SCI Institute
CIBC:Meshing
0
2603
5159
2008-07-02T21:38:56Z
Jeroen
19
wikitext
text/x-wiki
=Meshing =
5160
5159
2008-07-06T19:58:34Z
Mjc
35
/* Meshing */
wikitext
text/x-wiki
=Meshing =
''This list should be edited by Chris and the meshing group, to best utilize Marty's consulting time according to ncrr priorities. Marty will remove items when completed.''
meshing task list:
# Developers help (compilation and usage)
# Organize completed model data on sci filesystem and wiki
# '''Create Mesh''' - 10y torso w/ blood volume (matt jolley)
# move particle rendering to SCIRun.
# move particle optimizers to SCIRun/algo.
# make particle system run threaded jobs per junction type.
# detect empty junction instead of crashing.
# automate writing output files when complete.
# fix bug with double junction particles ending up on triple junction.
[[CIBC:Meshing compiling| compilation instructions]]
[[CIBC:Meshing completed models| completed mesh projects]]
5162
5160
2008-07-06T20:50:53Z
Mjc
35
/* Meshing */
wikitext
text/x-wiki
=Meshing =
''This list should be edited by Chris and the meshing group, to best utilize Marty's consulting time according to ncrr priorities. Marty will remove items when completed.''
meshing task list:
# Developers help (compilation and usage)
# Organize completed model data on sci filesystem and wiki
# '''Create Mesh''' - 10y torso w/ blood volume (matt jolley)
# move particle rendering to SCIRun.
# move particle optimizers to SCIRun/algo.
# make particle system run threaded jobs per junction type.
# detect empty junction instead of crashing.
# automate writing output files when complete.
# fix bug with double junction particles ending up on triple junction.
[[CIBC:Meshing compiling| compiling/running]]
[[CIBC:Meshing completed models| completed mesh projects]]
5168
5162
2008-07-19T20:47:57Z
Mjc
35
/* Meshing */
wikitext
text/x-wiki
=Meshing =
''This list should be edited by Chris and the meshing group, to best utilize Marty's consulting time according to ncrr priorities. Marty will remove items when completed.''
meshing task list:
# Developers help (compilation and usage)
# Organize completed model data on sci filesystem and wiki
# '''Create Mesh''' - 10y torso w/ blood volume (matt jolley)
# move particle rendering to SCIRun.
# move particle optimizers to SCIRun/algo.
# make particle system run threaded jobs per junction type.
# detect empty junction instead of crashing.
# automate writing output files when complete.
# fix bug with double junction particles ending up on triple junction.
[[CIBC:Meshing Results| collaborator meshing results]]
[[CIBC:Meshing compiling| compiling/running]]
[[CIBC:Meshing completed models| completed mesh projects]]
CIBC:Meshing compiling
0
2604
5161
2008-07-06T20:50:22Z
Mjc
35
wikitext
text/x-wiki
== Building the Code ==
Checkout the folowing repositories:
* https://code.sci.utah.edu/svn/vispack
* https://code.sci.utah.edu/svn/people/miriah
* https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
At this point just enough support was added to the vispack and miriah repo's to make them useable. These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with. For now this is the useable pipeline for creating meshes with an engineer running the code. We will migrate this into a researcher useable PowerApp.
=== Install Teem ===
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Install GLEW ===
* follow the [http://glew.sourceforge.net/install.html instructions].
=== Build vispack ===
==== Cmake ====
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
* add lapack link. liblapack1.so to liblapack.so
=== Build miriah ===
==== Preprocessing only (no particle system) ====
* skip to cmake step.
* make -k (ignore compilation errors)
==== Particle system enabled ====
* Install [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] First try synaptic or Yast or whatever precompiled options your system has.. Ubuntu has this ready to go.
* cmake step
* make
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
==== Cmake ====
* mkdir mir-opt;
* cd mir-opt;
* ccmake ../miriah
* CMAKE_BUILD_TYPE: Release
* GLEW_INCLUDE: <path to your installation>/glew/include
* GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a
* TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
* VISPACK_DIR: <path to your checkout> /vispack
* VISPACK_LIBS: <path to your binary dir> /vpbin/lib
=== Build SCIRun ===
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface. Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
== Using the Code ==
Coming soon to a wiki near you...
5163
5161
2008-07-06T22:14:21Z
Mjc
35
/* Using the Code */
wikitext
text/x-wiki
== Building the Code ==
Checkout the folowing repositories:
* https://code.sci.utah.edu/svn/vispack
* https://code.sci.utah.edu/svn/people/miriah
* https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
At this point just enough support was added to the vispack and miriah repo's to make them useable. These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with. For now this is the useable pipeline for creating meshes with an engineer running the code. We will migrate this into a researcher useable PowerApp.
=== Install Teem ===
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Install GLEW ===
* follow the [http://glew.sourceforge.net/install.html instructions].
=== Build vispack ===
==== Cmake ====
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
* add lapack link. liblapack1.so to liblapack.so
=== Build miriah ===
==== Preprocessing only (no particle system) ====
* skip to cmake step.
* make -k (ignore compilation errors)
==== Particle system enabled ====
* Install [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] First try synaptic or Yast or whatever precompiled options your system has.. Ubuntu has this ready to go.
* cmake step
* make
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
==== Cmake ====
* mkdir mir-opt;
* cd mir-opt;
* ccmake ../miriah
* CMAKE_BUILD_TYPE: Release
* GLEW_INCLUDE: <path to your installation>/glew/include
* GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a
* TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
* VISPACK_DIR: <path to your checkout> /vispack
* VISPACK_LIBS: <path to your binary dir> /vpbin/lib
=== Build SCIRun ===
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface. Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
== Using the Code ==
=== Scripts ===
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
==== example_bm3d_settings.py ====
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from. It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
==== gen_particle_sys_inputs.py ====
This is the main script for preprocessing from a segmentation. Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script. It will use as many cpu's or threads as specified in the settings file.
==== convert_crossings.py ====
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
==== create_junction_dirs.py ====
Helper script to generate dir for targeting the particle system. I pass a 4 to this typically since I run up to 4 particle system jobs at a time. These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name. Separate dirs keeps the different jobs from clobbering eachothers output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
==== gen_seeds.py ====
Make a new directory in your working dir, named seeds. Then run this script to get the set of possible junctions, and the seed points for them. The directory will contain a seed file for every junction that possibly exists. Possible quad junctions start with a q, t for triples and d for double junctions.
==== pts2tets.py ====
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
=== Preprocessing Segmentation ===
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
=== Running the Particle System ===
=== Building the TetVol ===
=== Mapping Indeces back to 1 index per material ===
5164
5163
2008-07-06T22:19:06Z
Mjc
35
/* gen_particle_sys_inputs.py */
wikitext
text/x-wiki
== Building the Code ==
Checkout the folowing repositories:
* https://code.sci.utah.edu/svn/vispack
* https://code.sci.utah.edu/svn/people/miriah
* https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
At this point just enough support was added to the vispack and miriah repo's to make them useable. These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with. For now this is the useable pipeline for creating meshes with an engineer running the code. We will migrate this into a researcher useable PowerApp.
=== Install Teem ===
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Install GLEW ===
* follow the [http://glew.sourceforge.net/install.html instructions].
=== Build vispack ===
==== Cmake ====
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
* add lapack link. liblapack1.so to liblapack.so
=== Build miriah ===
==== Preprocessing only (no particle system) ====
* skip to cmake step.
* make -k (ignore compilation errors)
==== Particle system enabled ====
* Install [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] First try synaptic or Yast or whatever precompiled options your system has.. Ubuntu has this ready to go.
* cmake step
* make
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
==== Cmake ====
* mkdir mir-opt;
* cd mir-opt;
* ccmake ../miriah
* CMAKE_BUILD_TYPE: Release
* GLEW_INCLUDE: <path to your installation>/glew/include
* GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a
* TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
* VISPACK_DIR: <path to your checkout> /vispack
* VISPACK_LIBS: <path to your binary dir> /vpbin/lib
=== Build SCIRun ===
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface. Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
== Using the Code ==
=== Scripts ===
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
==== example_bm3d_settings.py ====
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from. It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
==== gen_particle_sys_inputs.py ====
This is the main script for preprocessing from a segmentation. Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script. It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
==== convert_crossings.py ====
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
==== create_junction_dirs.py ====
Helper script to generate dir for targeting the particle system. I pass a 4 to this typically since I run up to 4 particle system jobs at a time. These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name. Separate dirs keeps the different jobs from clobbering eachothers output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
==== gen_seeds.py ====
Make a new directory in your working dir, named seeds. Then run this script to get the set of possible junctions, and the seed points for them. The directory will contain a seed file for every junction that possibly exists. Possible quad junctions start with a q, t for triples and d for double junctions.
==== pts2tets.py ====
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
=== Preprocessing Segmentation ===
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
=== Running the Particle System ===
=== Building the TetVol ===
=== Mapping Indeces back to 1 index per material ===
5165
5164
2008-07-06T22:19:28Z
Mjc
35
/* Mapping Indeces back to 1 index per material */
wikitext
text/x-wiki
== Building the Code ==
Checkout the folowing repositories:
* https://code.sci.utah.edu/svn/vispack
* https://code.sci.utah.edu/svn/people/miriah
* https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
At this point just enough support was added to the vispack and miriah repo's to make them useable. These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with. For now this is the useable pipeline for creating meshes with an engineer running the code. We will migrate this into a researcher useable PowerApp.
=== Install Teem ===
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Install GLEW ===
* follow the [http://glew.sourceforge.net/install.html instructions].
=== Build vispack ===
==== Cmake ====
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
* add lapack link. liblapack1.so to liblapack.so
=== Build miriah ===
==== Preprocessing only (no particle system) ====
* skip to cmake step.
* make -k (ignore compilation errors)
==== Particle system enabled ====
* Install [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] First try synaptic or Yast or whatever precompiled options your system has.. Ubuntu has this ready to go.
* cmake step
* make
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
==== Cmake ====
* mkdir mir-opt;
* cd mir-opt;
* ccmake ../miriah
* CMAKE_BUILD_TYPE: Release
* GLEW_INCLUDE: <path to your installation>/glew/include
* GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a
* TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
* VISPACK_DIR: <path to your checkout> /vispack
* VISPACK_LIBS: <path to your binary dir> /vpbin/lib
=== Build SCIRun ===
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface. Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
== Using the Code ==
=== Scripts ===
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
==== example_bm3d_settings.py ====
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from. It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
==== gen_particle_sys_inputs.py ====
This is the main script for preprocessing from a segmentation. Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script. It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
==== convert_crossings.py ====
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
==== create_junction_dirs.py ====
Helper script to generate dir for targeting the particle system. I pass a 4 to this typically since I run up to 4 particle system jobs at a time. These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name. Separate dirs keeps the different jobs from clobbering eachothers output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
==== gen_seeds.py ====
Make a new directory in your working dir, named seeds. Then run this script to get the set of possible junctions, and the seed points for them. The directory will contain a seed file for every junction that possibly exists. Possible quad junctions start with a q, t for triples and d for double junctions.
==== pts2tets.py ====
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
=== Preprocessing Segmentation ===
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
=== Running the Particle System ===
=== Building the TetVol ===
=== Mapping Indices back to 1 index per material ===
5166
5165
2008-07-06T22:19:43Z
Mjc
35
/* Cmake */
wikitext
text/x-wiki
== Building the Code ==
Checkout the folowing repositories:
* https://code.sci.utah.edu/svn/vispack
* https://code.sci.utah.edu/svn/people/miriah
* https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
At this point just enough support was added to the vispack and miriah repo's to make them useable. These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with. For now this is the useable pipeline for creating meshes with an engineer running the code. We will migrate this into a researcher useable PowerApp.
=== Install Teem ===
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Install GLEW ===
* follow the [http://glew.sourceforge.net/install.html instructions].
=== Build vispack ===
==== Cmake ====
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
* add lapack link. liblapack1.so to liblapack.so
=== Build miriah ===
==== Preprocessing only (no particle system) ====
* skip to cmake step.
* make -k (ignore compilation errors)
==== Particle system enabled ====
* Install [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] First try synaptic or Yast or whatever precompiled options your system has.. Ubuntu has this ready to go.
* cmake step
* make
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
==== Cmake ====
* mkdir mir-opt;
* cd mir-opt;
* ccmake ../miriah
** CMAKE_BUILD_TYPE: Release
** GLEW_INCLUDE: <path to your installation>/glew/include
** GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
** VISPACK_DIR: <path to your checkout> /vispack
** VISPACK_LIBS: <path to your binary dir> /vpbin/lib
=== Build SCIRun ===
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface. Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
== Using the Code ==
=== Scripts ===
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
==== example_bm3d_settings.py ====
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from. It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
==== gen_particle_sys_inputs.py ====
This is the main script for preprocessing from a segmentation. Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script. It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
==== convert_crossings.py ====
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
==== create_junction_dirs.py ====
Helper script to generate dir for targeting the particle system. I pass a 4 to this typically since I run up to 4 particle system jobs at a time. These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name. Separate dirs keeps the different jobs from clobbering eachothers output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
==== gen_seeds.py ====
Make a new directory in your working dir, named seeds. Then run this script to get the set of possible junctions, and the seed points for them. The directory will contain a seed file for every junction that possibly exists. Possible quad junctions start with a q, t for triples and d for double junctions.
==== pts2tets.py ====
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
=== Preprocessing Segmentation ===
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
=== Running the Particle System ===
=== Building the TetVol ===
=== Mapping Indices back to 1 index per material ===
CIBC:Project:Keller
0
2605
5167
2008-07-15T20:27:12Z
Cates
4
wikitext
text/x-wiki
{| class="wikitable"
|-
! Mouse Type
! homozygous
! heterozygous
! controls (wild-type)
|-
| mid-gestational
|
| row 1, cell 3
|-
| P0: weaning
|
|
|}
CIBC:Meshing Results
0
2606
5169
2008-07-19T20:48:56Z
Mjc
35
wikitext
text/x-wiki
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/15y-brain-labels.tvc.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/air.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/fluid.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/grey.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/lesion.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/surf.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/tets.tv.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/white.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/15y-brain-labels-high-res.tvc.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/15y-brain-labels.tvc.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/air.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/fluid.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/grey.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/lesion.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/surf.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/tets.tv.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/white.ts.fld
./warfield/head-mesh-fixed-reduced.labels.tvc.fld
./warfield/head-mesh-fixed-reduced.tvd.fld
./warfield/head-mesh.labels.tvc.fld
./warfield/head-mesh.tvd.fld
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
5170
5169
2008-07-19T20:53:12Z
Mjc
35
wikitext
text/x-wiki
Collaborator Meshes
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/15y-brain-labels.tvc.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/air.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/fluid.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/grey.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/lesion.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/surf.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/tets.tv.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/white.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/15y-brain-labels-high-res.tvc.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/15y-brain-labels.tvc.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/air.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/fluid.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/grey.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/lesion.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/surf.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/tets.tv.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/white.ts.fld
./warfield/head-mesh-fixed-reduced.labels.tvc.fld
./warfield/head-mesh-fixed-reduced.tvd.fld
./warfield/head-mesh.labels.tvc.fld
./warfield/head-mesh.tvd.fld
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
5171
5170
2008-07-19T21:00:13Z
Mjc
35
wikitext
text/x-wiki
Collaborator Meshes
<nowiki>
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/15y-brain-labels.tvc.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/air.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/fluid.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/grey.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/lesion.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/surf.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/tets.tv.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/white.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/15y-brain-labels-high-res.tvc.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/15y-brain-labels.tvc.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/air.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/fluid.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/grey.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/lesion.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/surf.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/tets.tv.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/white.ts.fld
./warfield/head-mesh-fixed-reduced.labels.tvc.fld
./warfield/head-mesh-fixed-reduced.tvd.fld
./warfield/head-mesh.labels.tvc.fld
./warfield/head-mesh.tvd.fld
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
</nowiki>
<nowiki>
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5172
5171
2008-07-19T21:01:32Z
Mjc
35
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
<nowiki>
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/15y-brain-labels.tvc.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/air.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/fluid.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/grey.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/lesion.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/surf.ts.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/tets.tv.fld
./warfield/15y-brain/crj/mesh/junctions/points-sf3.0/white.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/15y-brain-labels-high-res.tvc.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/15y-brain-labels.tvc.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/air.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/fluid.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/grey.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/lesion.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/surf.ts.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/tets.tv.fld
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/white.ts.fld
./warfield/head-mesh-fixed-reduced.labels.tvc.fld
./warfield/head-mesh-fixed-reduced.tvd.fld
./warfield/head-mesh.labels.tvc.fld
./warfield/head-mesh.tvd.fld
</nowiki>
== Matt Jolley ==
<nowiki
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
</nowiki>
<nowiki>
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5173
5172
2008-07-19T21:32:24Z
Mjc
35
/* Simon Warfield */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
==== high resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
15y-brain-labels-high-res.tvc.fld
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
15y-brain-labels.tvc.fld
==== Tri-Surfs ====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
./warfield/head-mesh-fixed-reduced.labels.tvc.fld
./warfield/head-mesh-fixed-reduced.tvd.fld
./warfield/head-mesh.labels.tvc.fld
./warfield/head-mesh.tvd.fld
== Matt Jolley ==
<nowiki
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
</nowiki>
<nowiki>
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5174
5173
2008-07-19T21:34:00Z
Mjc
35
/* high resolution */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
==== TetVol ====
15y-brain-labels-high-res.tvc.fld
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
15y-brain-labels.tvc.fld
==== Tri-Surfs ====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
./warfield/head-mesh-fixed-reduced.labels.tvc.fld
./warfield/head-mesh-fixed-reduced.tvd.fld
./warfield/head-mesh.labels.tvc.fld
./warfield/head-mesh.tvd.fld
== Matt Jolley ==
<nowiki
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
</nowiki>
<nowiki>
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5175
5174
2008-07-19T21:38:25Z
Mjc
35
/* Tri-Surfs */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
==== TetVol ====
15y-brain-labels-high-res.tvc.fld
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
15y-brain-labels.tvc.fld
==== Tri-Surfs ====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
== Head with Skull ==
Located in : ./warfield/
===== TetVol =====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
<nowiki
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
</nowiki>
<nowiki>
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5176
5175
2008-07-19T21:39:06Z
Mjc
35
/* Simon Warfield */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
==== TetVol ====
15y-brain-labels-high-res.tvc.fld
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
15y-brain-labels.tvc.fld
==== Tri-Surfs ====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
== Head with Skull ==
Located in : ./warfield/
===== TetVol =====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
<nowiki
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
</nowiki>
<nowiki>
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5177
5176
2008-07-19T21:39:18Z
Mjc
35
/* Head with Skull */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
==== TetVol ====
15y-brain-labels-high-res.tvc.fld
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
15y-brain-labels.tvc.fld
==== Tri-Surfs ====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
===== TetVol =====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
<nowiki
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
</nowiki>
<nowiki>
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5178
5177
2008-07-19T21:44:30Z
Mjc
35
/* TetVol */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
==== TetVol ====
15y-brain-labels-high-res.tvc.fld
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
15y-brain-labels.tvc.fld
==== Tri-Surfs ====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
<nowiki
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
</nowiki>
<nowiki>
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5179
5178
2008-07-19T21:48:19Z
Mjc
35
/* TetVol */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
15y-brain-labels.tvc.fld
==== Tri-Surfs ====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
<nowiki
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
</nowiki>
<nowiki>
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5180
5179
2008-07-19T21:48:40Z
Mjc
35
/* Tri-Surfs */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
15y-brain-labels.tvc.fld
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
<nowiki
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
</nowiki>
<nowiki>
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5181
5180
2008-07-19T21:49:35Z
Mjc
35
/* Low Resolution */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
<nowiki
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso-test-ma/junctions/points-sf3/torso.ts.fld
./mattjolley/2y-torso-test-ma/air-mc.pc.fld
./mattjolley/2y-torso-test-ma/bone-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart-mc.pc.fld
./mattjolley/2y-torso-test-ma/lung-mc.pc.fld
./mattjolley/2y-torso-test-ma/torso-mc.pc.fld
./mattjolley/2y-torso-test-ma/heart_ma.pcv.fld
./mattjolley/2y-torso-test-ma/torso-tc_surf.off.ts.fld
./mattjolley/2y-torso-test-ma/torso_ma.pcv.fld
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128-minedge/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-128/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg-256/mat9.ts.fld
./mattjolley/NRRDData/10y-32kg/mat0.ts.fld
./mattjolley/NRRDData/10y-32kg/mat10.ts.fld
./mattjolley/NRRDData/10y-32kg/mat7.ts.fld
./mattjolley/NRRDData/10y-32kg/mat8.ts.fld
./mattjolley/NRRDData/10y-32kg/mat9.ts.fld
./mattjolley/10y-torso-50vol.tvd.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf2.tvd.fld
./mattjolley/10y-torso-sf3.tvd.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
./mattjolley/10y-torso.tvd.fld
./mattjolley/29y-torso-sf3.tvd.fld
./mattjolley/2y-torso-sf3.tvd.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
</nowiki>
<nowiki>
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5182
5181
2008-07-19T21:56:47Z
Mjc
35
/* Matt Jolley */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5183
5182
2008-07-19T21:57:18Z
Mjc
35
/* Simon Warfield */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
./warfield/15y-brain/crj/15y-brain-high-res.png
./warfield/15y-brain/crj/surf-edges-sf1.png
./warfield/fixed-reduced-surfs-edges.png
./warfield/missing-skin.png
./warfield/s1.png
./warfield/seg-problem.png
./warfield/skin-orig-ma.png
./warfield/skin-ray-ma.png
./warfield/tet-edges-fixed-reduced.png
./warfield/tet-edges.png
./warfield/tets-labeled-clipped-fixed-reduced.png
./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5184
5183
2008-07-19T21:58:07Z
Mjc
35
/* Images */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5185
5184
2008-07-19T22:05:02Z
Mjc
35
/* TetVol */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</code></pre>
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5186
5185
2008-07-19T22:05:36Z
Mjc
35
/* TetVol */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5187
5186
2008-07-19T22:11:35Z
Mjc
35
/* Low Resolution */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1765216
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1765216 Faces: 3556676 Edges: 2087737 Nodes: 296275
Aspect Ratio: Low = 1.00075, Average = 2.38652, High = 97188.1
Aspect Ratio (gamma): Low = 1.00105, Average = 25.3265, High = 8.96232e+06
Volume: Low = 2.44047e-11, Average = 1.03395, High = 46.7089
Condition: Low = 1.0007, Average = 1.93902, High = 12236.2
Jacobian: Low = 1.46428e-10, Average = 6.20368, High = 280.254
Scaled_Jacobian: Low = 3.94489e-08, Average = 0.400344, High = 0.989018
Shape: Low = 2.31768e-05, Average = 0.662847, High = 0.999299
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 1.02893e-05, Average = 0.6094, High = 0.999252
</pre></code>
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5188
5187
2008-07-19T22:16:50Z
Mjc
35
/* TetVol */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
===== Stats:(still to come) =====
stats here
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1765216
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1765216 Faces: 3556676 Edges: 2087737 Nodes: 296275
Aspect Ratio: Low = 1.00075, Average = 2.38652, High = 97188.1
Aspect Ratio (gamma): Low = 1.00105, Average = 25.3265, High = 8.96232e+06
Volume: Low = 2.44047e-11, Average = 1.03395, High = 46.7089
Condition: Low = 1.0007, Average = 1.93902, High = 12236.2
Jacobian: Low = 1.46428e-10, Average = 6.20368, High = 280.254
Scaled_Jacobian: Low = 3.94489e-08, Average = 0.400344, High = 0.989018
Shape: Low = 2.31768e-05, Average = 0.662847, High = 0.999299
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 1.02893e-05, Average = 0.6094, High = 0.999252
</pre></code>
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1067541
Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1067541 Faces: 2148701 Edges: 1260802 Nodes: 179643
Aspect Ratio: Low = 1.00064, Average = 1.85343, High = 74.9528
Aspect Ratio (gamma): Low = 1.00087, Average = 2.05658, High = 145.493
Volume: Low = 2.18251e-05, Average = 5.87778, High = 242.399
Condition: Low = 1.00058, Average = 1.68179, High = 27.3222
Jacobian: Low = 0.000130951, Average = 35.2667, High = 1454.4
Scaled_Jacobian: Low = 0.00244018, Average = 0.404027, High = 0.989514
Shape: Low = 0.0361498, Average = 0.669036, High = 0.999418
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 0.0133417, Average = 0.608034, High = 0.999358
</pre></code>
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5189
5188
2008-07-19T22:17:09Z
Mjc
35
/* Stats:(still to come) */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1765216
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1765216 Faces: 3556676 Edges: 2087737 Nodes: 296275
Aspect Ratio: Low = 1.00075, Average = 2.38652, High = 97188.1
Aspect Ratio (gamma): Low = 1.00105, Average = 25.3265, High = 8.96232e+06
Volume: Low = 2.44047e-11, Average = 1.03395, High = 46.7089
Condition: Low = 1.0007, Average = 1.93902, High = 12236.2
Jacobian: Low = 1.46428e-10, Average = 6.20368, High = 280.254
Scaled_Jacobian: Low = 3.94489e-08, Average = 0.400344, High = 0.989018
Shape: Low = 2.31768e-05, Average = 0.662847, High = 0.999299
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 1.02893e-05, Average = 0.6094, High = 0.999252
</pre></code>
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1067541
Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1067541 Faces: 2148701 Edges: 1260802 Nodes: 179643
Aspect Ratio: Low = 1.00064, Average = 1.85343, High = 74.9528
Aspect Ratio (gamma): Low = 1.00087, Average = 2.05658, High = 145.493
Volume: Low = 2.18251e-05, Average = 5.87778, High = 242.399
Condition: Low = 1.00058, Average = 1.68179, High = 27.3222
Jacobian: Low = 0.000130951, Average = 35.2667, High = 1454.4
Scaled_Jacobian: Low = 0.00244018, Average = 0.404027, High = 0.989514
Shape: Low = 0.0361498, Average = 0.669036, High = 0.999418
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 0.0133417, Average = 0.608034, High = 0.999358
</pre></code>
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
5194
5189
2008-07-25T04:39:39Z
Mjc
35
/* 40y torso */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1765216
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1765216 Faces: 3556676 Edges: 2087737 Nodes: 296275
Aspect Ratio: Low = 1.00075, Average = 2.38652, High = 97188.1
Aspect Ratio (gamma): Low = 1.00105, Average = 25.3265, High = 8.96232e+06
Volume: Low = 2.44047e-11, Average = 1.03395, High = 46.7089
Condition: Low = 1.0007, Average = 1.93902, High = 12236.2
Jacobian: Low = 1.46428e-10, Average = 6.20368, High = 280.254
Scaled_Jacobian: Low = 3.94489e-08, Average = 0.400344, High = 0.989018
Shape: Low = 2.31768e-05, Average = 0.662847, High = 0.999299
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 1.02893e-05, Average = 0.6094, High = 0.999252
</pre></code>
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1067541
Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1067541 Faces: 2148701 Edges: 1260802 Nodes: 179643
Aspect Ratio: Low = 1.00064, Average = 1.85343, High = 74.9528
Aspect Ratio (gamma): Low = 1.00087, Average = 2.05658, High = 145.493
Volume: Low = 2.18251e-05, Average = 5.87778, High = 242.399
Condition: Low = 1.00058, Average = 1.68179, High = 27.3222
Jacobian: Low = 0.000130951, Average = 35.2667, High = 1454.4
Scaled_Jacobian: Low = 0.00244018, Average = 0.404027, High = 0.989514
Shape: Low = 0.0361498, Average = 0.669036, High = 0.999418
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 0.0133417, Average = 0.608034, High = 0.999358
</pre></code>
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
== Fangxiang ==
=== lowres ===
{code}{pre}
Number of Tet elements checked = 1190125
Euler characteristics for this mesh indicate 20 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1190125 Faces: 2411973 Edges: 1429334 Nodes: 207448
Aspect Ratio: Low = 1.00006, Average = 2.34331, High = 19518.4
Aspect Ratio (gamma): Low = 1.00008, Average = 16.6877, High = 3.91792e+06
Volume: Low = 1e-10, Average = 2.74514, High = 265.35
Condition: Low = 1.00005, Average = 2.26923, High = 23606.9
Jacobian: Low = 6e-10, Average = 16.4708, High = 1592.1
Scaled_Jacobian: Low = 9.02408e-08, Average = 0.413604, High = 0.997311
Shape: Low = 4.02374e-05, Average = 0.6764, High = 0.999947
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 5.12337e-05, Average = 0.621546, High = 0.999938
{/pre}{/code}
5195
5194
2008-07-25T04:40:19Z
Mjc
35
/* lowres */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1765216
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1765216 Faces: 3556676 Edges: 2087737 Nodes: 296275
Aspect Ratio: Low = 1.00075, Average = 2.38652, High = 97188.1
Aspect Ratio (gamma): Low = 1.00105, Average = 25.3265, High = 8.96232e+06
Volume: Low = 2.44047e-11, Average = 1.03395, High = 46.7089
Condition: Low = 1.0007, Average = 1.93902, High = 12236.2
Jacobian: Low = 1.46428e-10, Average = 6.20368, High = 280.254
Scaled_Jacobian: Low = 3.94489e-08, Average = 0.400344, High = 0.989018
Shape: Low = 2.31768e-05, Average = 0.662847, High = 0.999299
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 1.02893e-05, Average = 0.6094, High = 0.999252
</pre></code>
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1067541
Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1067541 Faces: 2148701 Edges: 1260802 Nodes: 179643
Aspect Ratio: Low = 1.00064, Average = 1.85343, High = 74.9528
Aspect Ratio (gamma): Low = 1.00087, Average = 2.05658, High = 145.493
Volume: Low = 2.18251e-05, Average = 5.87778, High = 242.399
Condition: Low = 1.00058, Average = 1.68179, High = 27.3222
Jacobian: Low = 0.000130951, Average = 35.2667, High = 1454.4
Scaled_Jacobian: Low = 0.00244018, Average = 0.404027, High = 0.989514
Shape: Low = 0.0361498, Average = 0.669036, High = 0.999418
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 0.0133417, Average = 0.608034, High = 0.999358
</pre></code>
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
== Fangxiang ==
=== lowres ===
<code><pre>
Number of Tet elements checked = 1190125
Euler characteristics for this mesh indicate 20 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1190125 Faces: 2411973 Edges: 1429334 Nodes: 207448
Aspect Ratio: Low = 1.00006, Average = 2.34331, High = 19518.4
Aspect Ratio (gamma): Low = 1.00008, Average = 16.6877, High = 3.91792e+06
Volume: Low = 1e-10, Average = 2.74514, High = 265.35
Condition: Low = 1.00005, Average = 2.26923, High = 23606.9
Jacobian: Low = 6e-10, Average = 16.4708, High = 1592.1
Scaled_Jacobian: Low = 9.02408e-08, Average = 0.413604, High = 0.997311
Shape: Low = 4.02374e-05, Average = 0.6764, High = 0.999947
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 5.12337e-05, Average = 0.621546, High = 0.999938
</pre></code>
5196
5195
2008-07-25T04:44:56Z
Mjc
35
/* lowres */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1765216
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1765216 Faces: 3556676 Edges: 2087737 Nodes: 296275
Aspect Ratio: Low = 1.00075, Average = 2.38652, High = 97188.1
Aspect Ratio (gamma): Low = 1.00105, Average = 25.3265, High = 8.96232e+06
Volume: Low = 2.44047e-11, Average = 1.03395, High = 46.7089
Condition: Low = 1.0007, Average = 1.93902, High = 12236.2
Jacobian: Low = 1.46428e-10, Average = 6.20368, High = 280.254
Scaled_Jacobian: Low = 3.94489e-08, Average = 0.400344, High = 0.989018
Shape: Low = 2.31768e-05, Average = 0.662847, High = 0.999299
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 1.02893e-05, Average = 0.6094, High = 0.999252
</pre></code>
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1067541
Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1067541 Faces: 2148701 Edges: 1260802 Nodes: 179643
Aspect Ratio: Low = 1.00064, Average = 1.85343, High = 74.9528
Aspect Ratio (gamma): Low = 1.00087, Average = 2.05658, High = 145.493
Volume: Low = 2.18251e-05, Average = 5.87778, High = 242.399
Condition: Low = 1.00058, Average = 1.68179, High = 27.3222
Jacobian: Low = 0.000130951, Average = 35.2667, High = 1454.4
Scaled_Jacobian: Low = 0.00244018, Average = 0.404027, High = 0.989514
Shape: Low = 0.0361498, Average = 0.669036, High = 0.999418
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 0.0133417, Average = 0.608034, High = 0.999358
</pre></code>
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
== Fangxiang ==
==== TriSurf ====
Fangxiang/psys/junctions/points-sf3/
* surf.ts.fld
* ventricle.ts.fld
* tets.tv.fld
* csf.ts.fld
* skull.ts.fld
* air.ts.fld
* scalp.ts.fld
* white.ts.fld
* grey.ts.fld
==== TetVol ====
Fangxiang/psys/junctions/points-sf3/
brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1190125
Euler characteristics for this mesh indicate 20 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1190125 Faces: 2411973 Edges: 1429334 Nodes: 207448
Aspect Ratio: Low = 1.00006, Average = 2.34331, High = 19518.4
Aspect Ratio (gamma): Low = 1.00008, Average = 16.6877, High = 3.91792e+06
Volume: Low = 1e-10, Average = 2.74514, High = 265.35
Condition: Low = 1.00005, Average = 2.26923, High = 23606.9
Jacobian: Low = 6e-10, Average = 16.4708, High = 1592.1
Scaled_Jacobian: Low = 9.02408e-08, Average = 0.413604, High = 0.997311
Shape: Low = 4.02374e-05, Average = 0.6764, High = 0.999947
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 5.12337e-05, Average = 0.621546, High = 0.999938
</pre></code>
5197
5196
2008-07-25T04:45:57Z
Mjc
35
/* Fangxiang */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1765216
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1765216 Faces: 3556676 Edges: 2087737 Nodes: 296275
Aspect Ratio: Low = 1.00075, Average = 2.38652, High = 97188.1
Aspect Ratio (gamma): Low = 1.00105, Average = 25.3265, High = 8.96232e+06
Volume: Low = 2.44047e-11, Average = 1.03395, High = 46.7089
Condition: Low = 1.0007, Average = 1.93902, High = 12236.2
Jacobian: Low = 1.46428e-10, Average = 6.20368, High = 280.254
Scaled_Jacobian: Low = 3.94489e-08, Average = 0.400344, High = 0.989018
Shape: Low = 2.31768e-05, Average = 0.662847, High = 0.999299
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 1.02893e-05, Average = 0.6094, High = 0.999252
</pre></code>
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1067541
Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1067541 Faces: 2148701 Edges: 1260802 Nodes: 179643
Aspect Ratio: Low = 1.00064, Average = 1.85343, High = 74.9528
Aspect Ratio (gamma): Low = 1.00087, Average = 2.05658, High = 145.493
Volume: Low = 2.18251e-05, Average = 5.87778, High = 242.399
Condition: Low = 1.00058, Average = 1.68179, High = 27.3222
Jacobian: Low = 0.000130951, Average = 35.2667, High = 1454.4
Scaled_Jacobian: Low = 0.00244018, Average = 0.404027, High = 0.989514
Shape: Low = 0.0361498, Average = 0.669036, High = 0.999418
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 0.0133417, Average = 0.608034, High = 0.999358
</pre></code>
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
== Fangxiang ==
==== Images ====
* ./clipped-labeled-tets.png
* ./clipped-labeled-tets2.png
==== TriSurf ====
Fangxiang/psys/junctions/points-sf3/
* surf.ts.fld
* ventricle.ts.fld
* tets.tv.fld
* csf.ts.fld
* skull.ts.fld
* air.ts.fld
* scalp.ts.fld
* white.ts.fld
* grey.ts.fld
==== TetVol ====
Fangxiang/psys/junctions/points-sf3/
brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1190125
Euler characteristics for this mesh indicate 20 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1190125 Faces: 2411973 Edges: 1429334 Nodes: 207448
Aspect Ratio: Low = 1.00006, Average = 2.34331, High = 19518.4
Aspect Ratio (gamma): Low = 1.00008, Average = 16.6877, High = 3.91792e+06
Volume: Low = 1e-10, Average = 2.74514, High = 265.35
Condition: Low = 1.00005, Average = 2.26923, High = 23606.9
Jacobian: Low = 6e-10, Average = 16.4708, High = 1592.1
Scaled_Jacobian: Low = 9.02408e-08, Average = 0.413604, High = 0.997311
Shape: Low = 4.02374e-05, Average = 0.6764, High = 0.999947
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 5.12337e-05, Average = 0.621546, High = 0.999938
</pre></code>
5198
5197
2008-07-30T02:46:22Z
Mjc
35
/* TriSurf */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1765216
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1765216 Faces: 3556676 Edges: 2087737 Nodes: 296275
Aspect Ratio: Low = 1.00075, Average = 2.38652, High = 97188.1
Aspect Ratio (gamma): Low = 1.00105, Average = 25.3265, High = 8.96232e+06
Volume: Low = 2.44047e-11, Average = 1.03395, High = 46.7089
Condition: Low = 1.0007, Average = 1.93902, High = 12236.2
Jacobian: Low = 1.46428e-10, Average = 6.20368, High = 280.254
Scaled_Jacobian: Low = 3.94489e-08, Average = 0.400344, High = 0.989018
Shape: Low = 2.31768e-05, Average = 0.662847, High = 0.999299
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 1.02893e-05, Average = 0.6094, High = 0.999252
</pre></code>
===== Tri-Surfs =====
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1067541
Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1067541 Faces: 2148701 Edges: 1260802 Nodes: 179643
Aspect Ratio: Low = 1.00064, Average = 1.85343, High = 74.9528
Aspect Ratio (gamma): Low = 1.00087, Average = 2.05658, High = 145.493
Volume: Low = 2.18251e-05, Average = 5.87778, High = 242.399
Condition: Low = 1.00058, Average = 1.68179, High = 27.3222
Jacobian: Low = 0.000130951, Average = 35.2667, High = 1454.4
Scaled_Jacobian: Low = 0.00244018, Average = 0.404027, High = 0.989514
Shape: Low = 0.0361498, Average = 0.669036, High = 0.999418
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 0.0133417, Average = 0.608034, High = 0.999358
</pre></code>
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
== Fangxiang ==
==== Images ====
* ./clipped-labeled-tets.png
* ./clipped-labeled-tets2.png
==== TriSurf ====
Fangxiang/psys/junctions/points-sf3/
<code><pre>
Number of Tri elements checked = 321532
Euler characteristics for this mesh indicate -9 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 321532 Edges: 477196 Nodes: 155647
Area: Low = 2.82843e-07, Average = 1.70254, High = 77.8086
Minimum_Angle: Low = 0.00236079, Average = 44.969, High = 59.9776
Maximum_Angle: Low = 60.0355, Average = 78.5486, High = 174.548
Condition: Low = 1, Average = 1.85798, High = 14012.1
Scaled_Jacobian: Low = 4.75779e-05, Average = 0.808549, High = 0.999775
Shape: Low = 7.13668e-05, Average = 0.904197, High = 1
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 7.58895e-05, Average = 0.887555, High = 1
</pre></code>
* surf.ts.fld
* ventricle.ts.fld
* tets.tv.fld
* csf.ts.fld
* skull.ts.fld
* air.ts.fld
* scalp.ts.fld
* white.ts.fld
* grey.ts.fld
==== TetVol ====
Fangxiang/psys/junctions/points-sf3/
brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1190125
Euler characteristics for this mesh indicate 20 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1190125 Faces: 2411973 Edges: 1429334 Nodes: 207448
Aspect Ratio: Low = 1.00006, Average = 2.34331, High = 19518.4
Aspect Ratio (gamma): Low = 1.00008, Average = 16.6877, High = 3.91792e+06
Volume: Low = 1e-10, Average = 2.74514, High = 265.35
Condition: Low = 1.00005, Average = 2.26923, High = 23606.9
Jacobian: Low = 6e-10, Average = 16.4708, High = 1592.1
Scaled_Jacobian: Low = 9.02408e-08, Average = 0.413604, High = 0.997311
Shape: Low = 4.02374e-05, Average = 0.6764, High = 0.999947
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 5.12337e-05, Average = 0.621546, High = 0.999938
</pre></code>
5199
5198
2008-07-30T02:47:48Z
Mjc
35
/* Tri-Surfs */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1765216
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1765216 Faces: 3556676 Edges: 2087737 Nodes: 296275
Aspect Ratio: Low = 1.00075, Average = 2.38652, High = 97188.1
Aspect Ratio (gamma): Low = 1.00105, Average = 25.3265, High = 8.96232e+06
Volume: Low = 2.44047e-11, Average = 1.03395, High = 46.7089
Condition: Low = 1.0007, Average = 1.93902, High = 12236.2
Jacobian: Low = 1.46428e-10, Average = 6.20368, High = 280.254
Scaled_Jacobian: Low = 3.94489e-08, Average = 0.400344, High = 0.989018
Shape: Low = 2.31768e-05, Average = 0.662847, High = 0.999299
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 1.02893e-05, Average = 0.6094, High = 0.999252
</pre></code>
===== Tri-Surfs =====
<code><pre>
Number of Tri elements checked = 450945
Euler characteristics for this mesh indicate -106 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 450945 Edges: 668999 Nodes: 217844
Area: Low = 5.40833e-07, Average = 0.993502, High = 67.7948
Minimum_Angle: Low = 0.0052897, Average = 44.891, High = 59.9605
Maximum_Angle: Low = 60.0215, Average = 78.6624, High = 168.551
Condition: Low = 1, Average = 1.18465, High = 6253.61
Scaled_Jacobian: Low = 0.000106605, Average = 0.807944, High = 0.999602
Shape: Low = 0.000159908, Average = 0.904373, High = 1
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 0.000184293, Average = 0.887842, High = 1
</pre></code>
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1067541
Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1067541 Faces: 2148701 Edges: 1260802 Nodes: 179643
Aspect Ratio: Low = 1.00064, Average = 1.85343, High = 74.9528
Aspect Ratio (gamma): Low = 1.00087, Average = 2.05658, High = 145.493
Volume: Low = 2.18251e-05, Average = 5.87778, High = 242.399
Condition: Low = 1.00058, Average = 1.68179, High = 27.3222
Jacobian: Low = 0.000130951, Average = 35.2667, High = 1454.4
Scaled_Jacobian: Low = 0.00244018, Average = 0.404027, High = 0.989514
Shape: Low = 0.0361498, Average = 0.669036, High = 0.999418
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 0.0133417, Average = 0.608034, High = 0.999358
</pre></code>
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
== Fangxiang ==
==== Images ====
* ./clipped-labeled-tets.png
* ./clipped-labeled-tets2.png
==== TriSurf ====
Fangxiang/psys/junctions/points-sf3/
<code><pre>
Number of Tri elements checked = 321532
Euler characteristics for this mesh indicate -9 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 321532 Edges: 477196 Nodes: 155647
Area: Low = 2.82843e-07, Average = 1.70254, High = 77.8086
Minimum_Angle: Low = 0.00236079, Average = 44.969, High = 59.9776
Maximum_Angle: Low = 60.0355, Average = 78.5486, High = 174.548
Condition: Low = 1, Average = 1.85798, High = 14012.1
Scaled_Jacobian: Low = 4.75779e-05, Average = 0.808549, High = 0.999775
Shape: Low = 7.13668e-05, Average = 0.904197, High = 1
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 7.58895e-05, Average = 0.887555, High = 1
</pre></code>
* surf.ts.fld
* ventricle.ts.fld
* tets.tv.fld
* csf.ts.fld
* skull.ts.fld
* air.ts.fld
* scalp.ts.fld
* white.ts.fld
* grey.ts.fld
==== TetVol ====
Fangxiang/psys/junctions/points-sf3/
brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1190125
Euler characteristics for this mesh indicate 20 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1190125 Faces: 2411973 Edges: 1429334 Nodes: 207448
Aspect Ratio: Low = 1.00006, Average = 2.34331, High = 19518.4
Aspect Ratio (gamma): Low = 1.00008, Average = 16.6877, High = 3.91792e+06
Volume: Low = 1e-10, Average = 2.74514, High = 265.35
Condition: Low = 1.00005, Average = 2.26923, High = 23606.9
Jacobian: Low = 6e-10, Average = 16.4708, High = 1592.1
Scaled_Jacobian: Low = 9.02408e-08, Average = 0.413604, High = 0.997311
Shape: Low = 4.02374e-05, Average = 0.6764, High = 0.999947
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 5.12337e-05, Average = 0.621546, High = 0.999938
</pre></code>
5200
5199
2008-07-30T02:54:01Z
Mjc
35
/* high resolution */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TriSurf =====
<code><pre>
Number of Tri elements checked = 3510322
Euler characteristics for this mesh indicate 405 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 3510322 Edges: 5242493 Nodes: 1732983
Area: Low = 8.51836e-07, Average = 0.129621, High = 99.1556
Minimum_Angle: Low = 0.00745434, Average = 48.8617, High = 59.9862
Maximum_Angle: Low = 60.0098, Average = 74.6795, High = 176.854
Condition: Low = 1, Average = 1.10108, High = 4437.65
Scaled_Jacobian: Low = 0.00015023, Average = 0.864754, High = 0.999861
Shape: Low = 0.000225345, Average = 0.94057, High = 1
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 0.000259467, Average = 0.929397, High = 1
</pre><code>
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1765216
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1765216 Faces: 3556676 Edges: 2087737 Nodes: 296275
Aspect Ratio: Low = 1.00075, Average = 2.38652, High = 97188.1
Aspect Ratio (gamma): Low = 1.00105, Average = 25.3265, High = 8.96232e+06
Volume: Low = 2.44047e-11, Average = 1.03395, High = 46.7089
Condition: Low = 1.0007, Average = 1.93902, High = 12236.2
Jacobian: Low = 1.46428e-10, Average = 6.20368, High = 280.254
Scaled_Jacobian: Low = 3.94489e-08, Average = 0.400344, High = 0.989018
Shape: Low = 2.31768e-05, Average = 0.662847, High = 0.999299
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 1.02893e-05, Average = 0.6094, High = 0.999252
</pre></code>
===== Tri-Surfs =====
<code><pre>
Number of Tri elements checked = 450945
Euler characteristics for this mesh indicate -106 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 450945 Edges: 668999 Nodes: 217844
Area: Low = 5.40833e-07, Average = 0.993502, High = 67.7948
Minimum_Angle: Low = 0.0052897, Average = 44.891, High = 59.9605
Maximum_Angle: Low = 60.0215, Average = 78.6624, High = 168.551
Condition: Low = 1, Average = 1.18465, High = 6253.61
Scaled_Jacobian: Low = 0.000106605, Average = 0.807944, High = 0.999602
Shape: Low = 0.000159908, Average = 0.904373, High = 1
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 0.000184293, Average = 0.887842, High = 1
</pre></code>
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1067541
Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1067541 Faces: 2148701 Edges: 1260802 Nodes: 179643
Aspect Ratio: Low = 1.00064, Average = 1.85343, High = 74.9528
Aspect Ratio (gamma): Low = 1.00087, Average = 2.05658, High = 145.493
Volume: Low = 2.18251e-05, Average = 5.87778, High = 242.399
Condition: Low = 1.00058, Average = 1.68179, High = 27.3222
Jacobian: Low = 0.000130951, Average = 35.2667, High = 1454.4
Scaled_Jacobian: Low = 0.00244018, Average = 0.404027, High = 0.989514
Shape: Low = 0.0361498, Average = 0.669036, High = 0.999418
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 0.0133417, Average = 0.608034, High = 0.999358
</pre></code>
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
== Fangxiang ==
==== Images ====
* ./clipped-labeled-tets.png
* ./clipped-labeled-tets2.png
==== TriSurf ====
Fangxiang/psys/junctions/points-sf3/
<code><pre>
Number of Tri elements checked = 321532
Euler characteristics for this mesh indicate -9 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 321532 Edges: 477196 Nodes: 155647
Area: Low = 2.82843e-07, Average = 1.70254, High = 77.8086
Minimum_Angle: Low = 0.00236079, Average = 44.969, High = 59.9776
Maximum_Angle: Low = 60.0355, Average = 78.5486, High = 174.548
Condition: Low = 1, Average = 1.85798, High = 14012.1
Scaled_Jacobian: Low = 4.75779e-05, Average = 0.808549, High = 0.999775
Shape: Low = 7.13668e-05, Average = 0.904197, High = 1
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 7.58895e-05, Average = 0.887555, High = 1
</pre></code>
* surf.ts.fld
* ventricle.ts.fld
* tets.tv.fld
* csf.ts.fld
* skull.ts.fld
* air.ts.fld
* scalp.ts.fld
* white.ts.fld
* grey.ts.fld
==== TetVol ====
Fangxiang/psys/junctions/points-sf3/
brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1190125
Euler characteristics for this mesh indicate 20 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1190125 Faces: 2411973 Edges: 1429334 Nodes: 207448
Aspect Ratio: Low = 1.00006, Average = 2.34331, High = 19518.4
Aspect Ratio (gamma): Low = 1.00008, Average = 16.6877, High = 3.91792e+06
Volume: Low = 1e-10, Average = 2.74514, High = 265.35
Condition: Low = 1.00005, Average = 2.26923, High = 23606.9
Jacobian: Low = 6e-10, Average = 16.4708, High = 1592.1
Scaled_Jacobian: Low = 9.02408e-08, Average = 0.413604, High = 0.997311
Shape: Low = 4.02374e-05, Average = 0.6764, High = 0.999947
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 5.12337e-05, Average = 0.621546, High = 0.999938
</pre></code>
5201
5200
2008-07-30T02:54:30Z
Mjc
35
/* TriSurf */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TriSurf =====
<code><pre>
Number of Tri elements checked = 3510322
Euler characteristics for this mesh indicate 405 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 3510322 Edges: 5242493 Nodes: 1732983
Area: Low = 8.51836e-07, Average = 0.129621, High = 99.1556
Minimum_Angle: Low = 0.00745434, Average = 48.8617, High = 59.9862
Maximum_Angle: Low = 60.0098, Average = 74.6795, High = 176.854
Condition: Low = 1, Average = 1.10108, High = 4437.65
Scaled_Jacobian: Low = 0.00015023, Average = 0.864754, High = 0.999861
Shape: Low = 0.000225345, Average = 0.94057, High = 1
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 0.000259467, Average = 0.929397, High = 1
</pre></code>
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1765216
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1765216 Faces: 3556676 Edges: 2087737 Nodes: 296275
Aspect Ratio: Low = 1.00075, Average = 2.38652, High = 97188.1
Aspect Ratio (gamma): Low = 1.00105, Average = 25.3265, High = 8.96232e+06
Volume: Low = 2.44047e-11, Average = 1.03395, High = 46.7089
Condition: Low = 1.0007, Average = 1.93902, High = 12236.2
Jacobian: Low = 1.46428e-10, Average = 6.20368, High = 280.254
Scaled_Jacobian: Low = 3.94489e-08, Average = 0.400344, High = 0.989018
Shape: Low = 2.31768e-05, Average = 0.662847, High = 0.999299
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 1.02893e-05, Average = 0.6094, High = 0.999252
</pre></code>
===== Tri-Surfs =====
<code><pre>
Number of Tri elements checked = 450945
Euler characteristics for this mesh indicate -106 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 450945 Edges: 668999 Nodes: 217844
Area: Low = 5.40833e-07, Average = 0.993502, High = 67.7948
Minimum_Angle: Low = 0.0052897, Average = 44.891, High = 59.9605
Maximum_Angle: Low = 60.0215, Average = 78.6624, High = 168.551
Condition: Low = 1, Average = 1.18465, High = 6253.61
Scaled_Jacobian: Low = 0.000106605, Average = 0.807944, High = 0.999602
Shape: Low = 0.000159908, Average = 0.904373, High = 1
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 0.000184293, Average = 0.887842, High = 1
</pre></code>
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1067541
Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1067541 Faces: 2148701 Edges: 1260802 Nodes: 179643
Aspect Ratio: Low = 1.00064, Average = 1.85343, High = 74.9528
Aspect Ratio (gamma): Low = 1.00087, Average = 2.05658, High = 145.493
Volume: Low = 2.18251e-05, Average = 5.87778, High = 242.399
Condition: Low = 1.00058, Average = 1.68179, High = 27.3222
Jacobian: Low = 0.000130951, Average = 35.2667, High = 1454.4
Scaled_Jacobian: Low = 0.00244018, Average = 0.404027, High = 0.989514
Shape: Low = 0.0361498, Average = 0.669036, High = 0.999418
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 0.0133417, Average = 0.608034, High = 0.999358
</pre></code>
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
== Fangxiang ==
==== Images ====
* ./clipped-labeled-tets.png
* ./clipped-labeled-tets2.png
==== TriSurf ====
Fangxiang/psys/junctions/points-sf3/
<code><pre>
Number of Tri elements checked = 321532
Euler characteristics for this mesh indicate -9 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 321532 Edges: 477196 Nodes: 155647
Area: Low = 2.82843e-07, Average = 1.70254, High = 77.8086
Minimum_Angle: Low = 0.00236079, Average = 44.969, High = 59.9776
Maximum_Angle: Low = 60.0355, Average = 78.5486, High = 174.548
Condition: Low = 1, Average = 1.85798, High = 14012.1
Scaled_Jacobian: Low = 4.75779e-05, Average = 0.808549, High = 0.999775
Shape: Low = 7.13668e-05, Average = 0.904197, High = 1
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 7.58895e-05, Average = 0.887555, High = 1
</pre></code>
* surf.ts.fld
* ventricle.ts.fld
* tets.tv.fld
* csf.ts.fld
* skull.ts.fld
* air.ts.fld
* scalp.ts.fld
* white.ts.fld
* grey.ts.fld
==== TetVol ====
Fangxiang/psys/junctions/points-sf3/
brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1190125
Euler characteristics for this mesh indicate 20 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1190125 Faces: 2411973 Edges: 1429334 Nodes: 207448
Aspect Ratio: Low = 1.00006, Average = 2.34331, High = 19518.4
Aspect Ratio (gamma): Low = 1.00008, Average = 16.6877, High = 3.91792e+06
Volume: Low = 1e-10, Average = 2.74514, High = 265.35
Condition: Low = 1.00005, Average = 2.26923, High = 23606.9
Jacobian: Low = 6e-10, Average = 16.4708, High = 1592.1
Scaled_Jacobian: Low = 9.02408e-08, Average = 0.413604, High = 0.997311
Shape: Low = 4.02374e-05, Average = 0.6764, High = 0.999947
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 5.12337e-05, Average = 0.621546, High = 0.999938
</pre></code>
5202
5201
2008-07-30T02:56:50Z
Mjc
35
/* Head with Skull */
wikitext
text/x-wiki
= Collaborator Meshes =
== Simon Warfield ==
=== Images ===
* ./warfield/15y-brain/crj/15y-brain-high-res.png
* ./warfield/15y-brain/crj/surf-edges-sf1.png
* ./warfield/fixed-reduced-surfs-edges.png
* ./warfield/missing-skin.png
* ./warfield/s1.png
* ./warfield/seg-problem.png
* ./warfield/skin-orig-ma.png
* ./warfield/skin-ray-ma.png
* ./warfield/tet-edges-fixed-reduced.png
* ./warfield/tet-edges.png
* ./warfield/tets-labeled-clipped-fixed-reduced.png
* ./warfield/tets-labeled-clipped.png
=== 15y data set ===
==== high resolution ====
'''Located in :''' ./warfield/15y-brain/crj/mesh2/junctions/points-sf1.0/
===== TriSurf =====
<code><pre>
Number of Tri elements checked = 3510322
Euler characteristics for this mesh indicate 405 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 3510322 Edges: 5242493 Nodes: 1732983
Area: Low = 8.51836e-07, Average = 0.129621, High = 99.1556
Minimum_Angle: Low = 0.00745434, Average = 48.8617, High = 59.9862
Maximum_Angle: Low = 60.0098, Average = 74.6795, High = 176.854
Condition: Low = 1, Average = 1.10108, High = 4437.65
Scaled_Jacobian: Low = 0.00015023, Average = 0.864754, High = 0.999861
Shape: Low = 0.000225345, Average = 0.94057, High = 1
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 0.000259467, Average = 0.929397, High = 1
</pre></code>
===== TetVol =====
15y-brain-labels-high-res.tvc.fld
<code><pre>
Number of Tet elements checked = 15561759
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 15561759 Faces: 31326612 Edges: 18488223 Nodes: 2723368
Aspect Ratio: Low = 1.00005, Average = 2.80414, High = 1.28932e+06
Aspect Ratio (gamma): Low = 1.00072, Average = 10.5797, High = 1.13043e+07
Volume: Low = 1.31597e-15, Average = 0.117654, High = 28.8929
Condition: Low = 1.00004, Average = 1.91317, High = 28009.3
Jacobian: Low = 7.89581e-15, Average = 0.705924, High = 173.358
Scaled_Jacobian: Low = 3.12968e-08, Average = 0.357157, High = 0.996228
Shape: Low = 1.98623e-05, Average = 0.637944, High = 0.999959
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
</pre>
</code>
==== Low Resolution ====
./warfield/15y-brain/crj/mesh2/junctions/points-sf3.0/
===== TetVol =====
15y-brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1765216
Euler characteristics for this mesh indicate 2 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1765216 Faces: 3556676 Edges: 2087737 Nodes: 296275
Aspect Ratio: Low = 1.00075, Average = 2.38652, High = 97188.1
Aspect Ratio (gamma): Low = 1.00105, Average = 25.3265, High = 8.96232e+06
Volume: Low = 2.44047e-11, Average = 1.03395, High = 46.7089
Condition: Low = 1.0007, Average = 1.93902, High = 12236.2
Jacobian: Low = 1.46428e-10, Average = 6.20368, High = 280.254
Scaled_Jacobian: Low = 3.94489e-08, Average = 0.400344, High = 0.989018
Shape: Low = 2.31768e-05, Average = 0.662847, High = 0.999299
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 1.02893e-05, Average = 0.6094, High = 0.999252
</pre></code>
===== Tri-Surfs =====
<code><pre>
Number of Tri elements checked = 450945
Euler characteristics for this mesh indicate -106 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 450945 Edges: 668999 Nodes: 217844
Area: Low = 5.40833e-07, Average = 0.993502, High = 67.7948
Minimum_Angle: Low = 0.0052897, Average = 44.891, High = 59.9605
Maximum_Angle: Low = 60.0215, Average = 78.6624, High = 168.551
Condition: Low = 1, Average = 1.18465, High = 6253.61
Scaled_Jacobian: Low = 0.000106605, Average = 0.807944, High = 0.999602
Shape: Low = 0.000159908, Average = 0.904373, High = 1
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 0.000184293, Average = 0.887842, High = 1
</pre></code>
* surf.ts.fld (input to TetGen)
* air.ts.fld
* fluid.ts.fld
* grey.ts.fld
* lesion.ts.fld
* white.ts.fld
=== Head with Skull ===
Located in : ./warfield/
==== TriSurf ====
<code><pre>
Number of Tri elements checked = 265989
Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 265989 Edges: 397191 Nodes: 131203
Area: Low = 0.000792772, Average = 2.7208, High = 45.2868
Minimum_Angle: Low = 4.0295, Average = 45.0137, High = 59.9607
Maximum_Angle: Low = 60.0507, Average = 78.6354, High = 165.542
Condition: Low = 1, Average = 1.11618, High = 8.24442
Scaled_Jacobian: Low = 0.0811409, Average = 0.809923, High = 0.999604
Shape: Low = 0.121294, Average = 0.906176, High = 0.999999
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 0.0312404, Average = 0.889327, High = 0.999999
</pre></code>
==== TetVol ====
head-mesh-fixed-reduced.labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1067541
Euler characteristics for this mesh indicate 0 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1067541 Faces: 2148701 Edges: 1260802 Nodes: 179643
Aspect Ratio: Low = 1.00064, Average = 1.85343, High = 74.9528
Aspect Ratio (gamma): Low = 1.00087, Average = 2.05658, High = 145.493
Volume: Low = 2.18251e-05, Average = 5.87778, High = 242.399
Condition: Low = 1.00058, Average = 1.68179, High = 27.3222
Jacobian: Low = 0.000130951, Average = 35.2667, High = 1454.4
Scaled_Jacobian: Low = 0.00244018, Average = 0.404027, High = 0.989514
Shape: Low = 0.0361498, Average = 0.669036, High = 0.999418
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 0.0133417, Average = 0.608034, High = 0.999358
</pre></code>
== Matt Jolley ==
=== 10y torso ===
==== High Resolution ====
./mattjolley/10y-torso/junctions/points-sf2/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf2/torso.ts.fld
==== Medium Resolution ====
./mattjolley/10y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf-0.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf3/torso.ts.fld
==== Low Resolution ====
./mattjolley/10y-torso/junctions/points-sf4/surf.ts.fld
./mattjolley/10y-torso/junctions/points-sf4/blah.ts.fld
=== 29y torso ===
./mattjolley/29y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/29y-torso/junctions/points-sf3/torso.ts.fld
=== 2y torso ===
./mattjolley/2y-torso/junctions/points-sf3/air.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/bone.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/heart.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/lung.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/surf.ts.fld
./mattjolley/2y-torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-sf2-labels.tvc.fld
./mattjolley/10y-torso-sf4-labels.tvc.fld
=== 40y torso ===
./mattjolley/40y-torso/torso/junctions/points-sf3/40y-torso-sf3-labels.tvc.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/air.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/blood.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/bone.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/heart.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/lung.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/surf.ts.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/tets.tv.fld
./mattjolley/40y-torso/torso/junctions/points-sf3/torso.ts.fld
./mattjolley/10y-torso-cut-heart-bone.png
./mattjolley/10y-torso-cut-lung-bone.png
./mattjolley/10y-torso-edges.png
./mattjolley/10y-torso-sf2-cut-heart-bone.png
./mattjolley/10y-torso-sf2-cut-lung-bone.png
./mattjolley/10y-torso-sf2-edges.png
./mattjolley/10y-torso-sf2-surfs-cut.png
./mattjolley/10y-torso-sf2-surfs-cut2.png
./mattjolley/10y-torso-sf2-surfs-cut3.png
./mattjolley/10y-torso-sf2-surfs.png
./mattjolley/29y-torso-edges.png
./mattjolley/2y-torso-sf3-edges.png
./mattjolley/40y-torso/40y-torso-surfs-edges-clipped.png
./mattjolley/40y-torso/40y-torso-surfs-edges.png
</nowiki
== Fangxiang ==
==== Images ====
* ./clipped-labeled-tets.png
* ./clipped-labeled-tets2.png
==== TriSurf ====
Fangxiang/psys/junctions/points-sf3/
<code><pre>
Number of Tri elements checked = 321532
Euler characteristics for this mesh indicate -9 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Tris: 321532 Edges: 477196 Nodes: 155647
Area: Low = 2.82843e-07, Average = 1.70254, High = 77.8086
Minimum_Angle: Low = 0.00236079, Average = 44.969, High = 59.9776
Maximum_Angle: Low = 60.0355, Average = 78.5486, High = 174.548
Condition: Low = 1, Average = 1.85798, High = 14012.1
Scaled_Jacobian: Low = 4.75779e-05, Average = 0.808549, High = 0.999775
Shape: Low = 7.13668e-05, Average = 0.904197, High = 1
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Inv Radius Ratio: Low = 7.58895e-05, Average = 0.887555, High = 1
</pre></code>
* surf.ts.fld
* ventricle.ts.fld
* tets.tv.fld
* csf.ts.fld
* skull.ts.fld
* air.ts.fld
* scalp.ts.fld
* white.ts.fld
* grey.ts.fld
==== TetVol ====
Fangxiang/psys/junctions/points-sf3/
brain-labels.tvc.fld
<code><pre>
Number of Tet elements checked = 1190125
Euler characteristics for this mesh indicate 20 holes in this block of elements.
(Assumes a single contiguous block of elements.)
Element counts: Tets: 1190125 Faces: 2411973 Edges: 1429334 Nodes: 207448
Aspect Ratio: Low = 1.00006, Average = 2.34331, High = 19518.4
Aspect Ratio (gamma): Low = 1.00008, Average = 16.6877, High = 3.91792e+06
Volume: Low = 1e-10, Average = 2.74514, High = 265.35
Condition: Low = 1.00005, Average = 2.26923, High = 23606.9
Jacobian: Low = 6e-10, Average = 16.4708, High = 1592.1
Scaled_Jacobian: Low = 9.02408e-08, Average = 0.413604, High = 0.997311
Shape: Low = 4.02374e-05, Average = 0.6764, High = 0.999947
Shape_Size: Low = 0, Average = 0, High = 0
Distortion: Low = 1, Average = 1, High = 1
Radius Ratio: Low = 5.12337e-05, Average = 0.621546, High = 0.999938
</pre></code>
Main Page
0
1
5190
5158
2008-07-23T22:08:40Z
Jeroen
19
/* Meshing Portal */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4.0===
;[[CIBC:SCIRun4|SCIRun 4.0 Information]]
: Overview of where we are with SCIRun 4.0
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
[[CIBC:Project:ImageVis3D | ImageVis3D Design and Development]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
CIBC:SCIRun4
0
2607
5191
2008-07-23T22:15:04Z
Jeroen
19
wikitext
text/x-wiki
==SCIRun 4.0==
===Time line===
Version 4.0.0 ETA early August (current estimate around August 3rd)
* No more dynamic compilation for 98% of SCIRun
* New look for SCIRun windows
* OSX binaries/ Windows binaries done
===To do list===
* Convert clipping modules: hook up new parser with clipping functionality
* Integrate remainder of ModelCreation into main SCIRun
* Cleanup Jason's Hexahedral tools
* Merge standalone converters into SCIRun
===Module todo list===
===Bug todo list===
* Math integrators for streamlines is faulty, only cell walk works
* Jacobi solver is broken
5192
5191
2008-07-23T22:15:54Z
Jeroen
19
/* Time line */
wikitext
text/x-wiki
==SCIRun 4.0==
===Time line===
Version 4.0.0 ETA early August (current estimate around August 3rd)
* No more dynamic compilation for 98% of SCIRun
* New look for SCIRun windows
* OSX binaries/ Windows binaries done
* Commonly used modules all work without compiler
===To do list===
* Convert clipping modules: hook up new parser with clipping functionality
* Integrate remainder of ModelCreation into main SCIRun
* Cleanup Jason's Hexahedral tools
* Merge standalone converters into SCIRun
===Module todo list===
===Bug todo list===
* Math integrators for streamlines is faulty, only cell walk works
* Jacobi solver is broken
5193
5192
2008-07-23T22:17:24Z
Jeroen
19
/* SCIRun 4.0 */
wikitext
text/x-wiki
==SCIRun 4.0==
===Time line===
Version 4.0.0 ETA early August (current estimate around August 3rd)
* No more dynamic compilation for 98% of SCIRun
* New look for SCIRun windows
* OSX binaries/ Windows binaries done
* Commonly used modules all work without compiler
===To do list===
* Convert clipping modules: hook up new parser with clipping functionality
* Integrate remainder of ModelCreation into main SCIRun
* Cleanup Jason's Hexahedral tools
* Merge standalone converters into SCIRun
* Need to build LinALg Parser, that parses Matrix additions, subtraction, multiplactions
===Module todo list===
===Bug todo list===
* Math integrators for streamlines is faulty, only cell walk works
* Jacobi solver is broken
CIBC:Meshing pipeline
0
2608
5205
2008-09-24T20:08:27Z
Ayla
57
Rough outline of meshing pipeline
wikitext
text/x-wiki
1. Create inputs
2. Create material
3. Create sizing field
5206
5205
2008-09-24T21:45:33Z
Darrell
59
wikitext
text/x-wiki
1. Sart with .nrrd files with one or more label maps
2. Create settings file: example_bm3d_settings.py
3. Run script: gen_particle_sys_inputs.py
Command
python ./gen_particle_sys_inputs.py example.nrrd
a. Breaks label maps into multiple materials
b. Resamples and pads .nrrd files
c. Runs a tightening algorithm
d. Creates a medial axis file
e. Converts .nrrds to .vol
f. Creates sizing field
4. Run script: create_junction_dir.py
Command
python ./create_junction_dirs.py [number of materials]
Input
[number of materials]
a. Creates directories that contain two files: particle_params.txt and psystem_input.txt
particle_params.txt: List of materials and parameters for anisotropy/isotropy.
psystem_input.txt: Paths and inputs to the particle system.
5. Create a file in the Junctions directory called m1.txt
m1.txt indicates which junctions you want to optimize the particle spacing and paths to the seed files for each junction.
6. Create a seeds directory.
mkdir seeds
7. Run script: gen_seeds.py
Command
python ./create_seeds.py
Creates files of all possible junctions q -> quad, t-> triple, and d -> double in the seeds directory.
8. Run the particle system: rendersf3d from the directory with the .nrrd files
Command: /path/miriah/Multisurfaces/rendersf3d junctions/psystem_input.txt
rendersf3d commands
spacebar: optimize/pause
w: write points
d: delete double points on triple junctions
q: quit
9. Write out points.
10. Run script: pts2tets.py from the main directory with the settings file
Command
python ./pts2tets.py junctions
Input
the junctions directory you want to optimize
Formats the points so they can be used by tetgen. Then runs tetgen to create a delany surfaces. It then formats the data into a .fld and .m files so it can be read by scirun and matlab.
11. Read .fld into scirun.
use the readfield module
12. Mesh inner volume of surfaces with tetgen
use the interfacewithTetgen module
5207
5206
2008-09-24T21:49:41Z
Darrell
59
wikitext
text/x-wiki
'''1. Sart with .nrrd files with one or more label maps'''
----
'''2. Create settings file: example_bm3d_settings.py'''
----
'''3. Run script: gen_particle_sys_inputs.py'''
Command
python ./gen_particle_sys_inputs.py example.nrrd
a. Breaks label maps into multiple materials
b. Resamples and pads .nrrd files
c. Runs a tightening algorithm
d. Creates a medial axis file
e. Converts .nrrds to .vol
f. Creates sizing field
----
'''4. Run script: create_junction_dir.py'''
Command
python ./create_junction_dirs.py [number of materials]
Input
[number of materials]
a. Creates directories that contain two files: particle_params.txt and psystem_input.txt
particle_params.txt: List of materials and parameters for anisotropy/isotropy.
psystem_input.txt: Paths and inputs to the particle system.
----
'''5. Create a file in the Junctions directory called m1.txt'''
m1.txt indicates which junctions you want to optimize the particle spacing and paths to the seed files for each junction.
----
'''6. Create a seeds directory.'''
mkdir seeds
----
'''7. Run script: gen_seeds.py'''
Command
python ./create_seeds.py
Creates files of all possible junctions q -> quad, t-> triple, and d -> double in the seeds directory.
----
'''8. Run the particle system: rendersf3d from the directory with the .nrrd files'''
Command: /path/miriah/Multisurfaces/rendersf3d junctions/psystem_input.txt
rendersf3d commands
spacebar: optimize/pause
w: write points
d: delete double points on triple junctions
q: quit
----
'''9. Write out points.'''
----
'''10. Run script: pts2tets.py from the main directory with the settings file'''
Command
python ./pts2tets.py junctions
Input
the junctions directory you want to optimize
Formats the points so they can be used by tetgen. Then runs tetgen to create a delany surfaces. It then formats the data into a .fld and .m files so it can be read by scirun and matlab.
----
'''11. Read .fld into scirun.'''
use the readfield module
----
'''12. Mesh inner volume of surfaces with tetgen'''
use the interfacewithTetgen module
5208
5207
2008-09-24T21:50:47Z
Darrell
59
wikitext
text/x-wiki
'''1. Sart with .nrrd files with one or more label maps'''
----
'''2. Create settings file: example_bm3d_settings.py'''
----
'''3. Run script: gen_particle_sys_inputs.py'''
Command
python ./gen_particle_sys_inputs.py example.nrrd
a. Breaks label maps into multiple materials
b. Resamples and pads .nrrd files
c. Runs a tightening algorithm
d. Creates a medial axis file
e. Converts .nrrds to .vol
f. Creates sizing field
----
'''4. Run script: create_junction_dir.py'''
Command
python ./create_junction_dirs.py [number of materials]
Input
[number of materials]
a. Creates directories that contain two files: particle_params.txt and psystem_input.txt
particle_params.txt: List of materials and parameters for anisotropy/isotropy.
psystem_input.txt: Paths and inputs to the particle system.
----
'''5. Create a file in the Junctions directory called m1.txt'''
m1.txt indicates which junctions you want to optimize the particle spacing and paths to the seed files for each junction.
----
'''6. Create a seeds directory.'''
mkdir seeds
----
'''7. Run script: gen_seeds.py'''
Command
python ./create_seeds.py
Creates files of all possible junctions q -> quad, t-> triple, and d -> double in the seeds directory.
----
'''8. Run the particle system: rendersf3d from the directory with the .nrrd files'''
Command: /path/miriah/Multisurfaces/rendersf3d junctions/psystem_input.txt
rendersf3d commands
spacebar: optimize/pause
w: write points
d: delete double points on triple junctions
q: quit
----
'''9. Write out points.'''
----
'''10. Run script: pts2tets.py from the main directory with the settings file'''
Command
python ./pts2tets.py junctions
Input
the junctions directory you want to optimize
Formats the points so they can be used by tetgen. Then runs tetgen to create a delany surfaces. It then formats the data into a .fld and .m files so it can be read by scirun and matlab.
----
'''11. Read .fld into scirun.'''
use the readfield module
----
'''12. Mesh inner volume of surfaces with tetgen'''
use the interfacewithTetgen module
5209
5208
2008-09-24T21:52:14Z
Darrell
59
wikitext
text/x-wiki
'''1. Sart with .nrrd files with one or more label maps'''
----
'''2. Create settings file: example_bm3d_settings.py'''
----
'''3. Run script: gen_particle_sys_inputs.py'''
Command: python ./gen_particle_sys_inputs.py example.nrrd
a. Breaks label maps into multiple materials
b. Resamples and pads .nrrd files
c. Runs a tightening algorithm
d. Creates a medial axis file
e. Converts .nrrds to .vol
f. Creates sizing field
----
'''4. Run script: create_junction_dir.py'''
Command: python ./create_junction_dirs.py [number of materials]
Input: [number of materials]
a. Creates directories that contain two files: particle_params.txt and psystem_input.txt
particle_params.txt: List of materials and parameters for anisotropy/isotropy.
psystem_input.txt: Paths and inputs to the particle system.
----
'''5. Create a file in the Junctions directory called m1.txt'''
m1.txt indicates which junctions you want to optimize the particle spacing and paths to the seed files for each junction.
----
'''6. Create a seeds directory.'''
mkdir seeds
----
'''7. Run script: gen_seeds.py'''
Command: python ./create_seeds.py
Creates files of all possible junctions q -> quad, t-> triple, and d -> double in the seeds directory.
----
'''8. Run the particle system: rendersf3d from the directory with the .nrrd files'''
Command: /path/miriah/Multisurfaces/rendersf3d junctions/psystem_input.txt
rendersf3d commands
spacebar: optimize/pause
w: write points
d: delete double points on triple junctions
q: quit
----
'''9. Write out points.'''
----
'''10. Run script: pts2tets.py from the main directory with the settings file'''
Command: python ./pts2tets.py junctions
Input
the junctions directory you want to optimize
Formats the points so they can be used by tetgen. Then runs tetgen to create a delany surfaces. It then formats the data into a .fld and .m files so it can be read by scirun and matlab.
----
'''11. Read .fld into scirun.'''
use the readfield module
----
'''12. Mesh inner volume of surfaces with tetgen'''
use the interfacewithTetgen module
5210
5209
2008-09-24T21:55:06Z
Darrell
59
wikitext
text/x-wiki
'''1. Sart with .nrrd files with one or more label maps'''
----
'''2. Create settings file: example_bm3d_settings.py'''
----
'''3. Run script: gen_particle_sys_inputs.py'''
Command: python ./gen_particle_sys_inputs.py example.nrrd
a. Breaks label maps into multiple materials
b. Resamples and pads .nrrd files
c. Runs a tightening algorithm
d. Creates a medial axis file
e. Converts .nrrds to .vol
f. Creates sizing field
----
'''4. Run script: create_junction_dir.py'''
Command: python ./create_junction_dirs.py [number of materials]
Input: [number of materials]
a. Creates directories that contain two files: particle_params.txt and psystem_input.txt
particle_params.txt: List of materials and parameters for anisotropy/isotropy.
psystem_input.txt: Paths and inputs to the particle system.
----
'''5. Create a file in the Junctions directory called m1.txt'''
m1.txt indicates which junctions you want to optimize the particle spacing and paths to the seed files for each junction.
----
'''6. Create a seeds directory.'''
mkdir seeds
----
'''7. Run script: gen_seeds.py'''
Command: python ./create_seeds.py
Creates files of all possible junctions q -> quad, t-> triple, and d -> double in the seeds directory.
----
'''8. Run the particle system: rendersf3d from the directory with the .nrrd files'''
Command: /path/miriah/Multisurfaces/rendersf3d junctions/psystem_input.txt
rendersf3d commands
spacebar: optimize/pause
w: write points
d: delete double points on triple junctions
q: quit
----
'''9. Write out points.'''
----
'''10. Run script: pts2tets.py from the main directory with the settings file'''
Command: python ./pts2tets.py junctions
Input
the junctions directory you want to optimize
Formats the points so they can be used by tetgen. Then runs tetgen to create a delany surfaces. It then formats the data into a .fld and .m files so it can be read by scirun and matlab.
----
'''11. Read .fld into scirun.'''
use the readfield module
----
'''12. Mesh inner volume of surfaces with tetgen'''
use the interfacewithTetgen module
CIBC:Meshing pipeline
0
2608
5211
5210
2008-09-24T21:55:33Z
Darrell
59
wikitext
text/x-wiki
'''1. Sart with .nrrd files with one or more label maps'''
----
'''2. Create settings file: example_bm3d_settings.py'''
----
'''3. Run script: gen_particle_sys_inputs.py'''
Command: python ./gen_particle_sys_inputs.py example.nrrd
a. Breaks label maps into multiple materials
b. Resamples and pads .nrrd files
c. Runs a tightening algorithm
d. Creates a medial axis file
e. Converts .nrrds to .vol
f. Creates sizing field
----
'''4. Run script: create_junction_dir.py'''
Command: python ./create_junction_dirs.py [number of materials]
Input: [number of materials]
a. Creates directories that contain two files: particle_params.txt and psystem_input.txt
particle_params.txt: List of materials and parameters for anisotropy/isotropy.
psystem_input.txt: Paths and inputs to the particle system.
----
'''5. Create a file in the Junctions directory called m1.txt'''
m1.txt indicates which junctions you want to optimize the particle spacing and paths to the seed files for each junction.
----
'''6. Create a seeds directory.'''
mkdir seeds
----
'''7. Run script: gen_seeds.py'''
Command: python ./create_seeds.py
Creates files of all possible junctions q -> quad, t-> triple, and d -> double in the seeds directory.
----
'''8. Run the particle system: rendersf3d from the directory with the .nrrd files'''
Command: /path/miriah/Multisurfaces/rendersf3d junctions/psystem_input.txt
rendersf3d commands:
spacebar: optimize/pause
w: write points
d: delete double points on triple junctions
q: quit
----
'''9. Write out points.'''
----
'''10. Run script: pts2tets.py from the main directory with the settings file'''
Command: python ./pts2tets.py junctions
Input
the junctions directory you want to optimize
Formats the points so they can be used by tetgen. Then runs tetgen to create a delany surfaces. It then formats the data into a .fld and .m files so it can be read by scirun and matlab.
----
'''11. Read .fld into scirun.'''
use the readfield module
----
'''12. Mesh inner volume of surfaces with tetgen'''
use the interfacewithTetgen module
5212
5211
2008-09-24T21:56:01Z
Darrell
59
wikitext
text/x-wiki
'''1. Sart with .nrrd files with one or more label maps'''
----
'''2. Create settings file: example_bm3d_settings.py'''
----
'''3. Run script: gen_particle_sys_inputs.py'''
Command: python ./gen_particle_sys_inputs.py example.nrrd
a. Breaks label maps into multiple materials
b. Resamples and pads .nrrd files
c. Runs a tightening algorithm
d. Creates a medial axis file
e. Converts .nrrds to .vol
f. Creates sizing field
----
'''4. Run script: create_junction_dir.py'''
Command: python ./create_junction_dirs.py [number of materials]
Input: [number of materials]
a. Creates directories that contain two files: particle_params.txt and psystem_input.txt
particle_params.txt: List of materials and parameters for anisotropy/isotropy.
psystem_input.txt: Paths and inputs to the particle system.
----
'''5. Create a file in the Junctions directory called m1.txt'''
m1.txt indicates which junctions you want to optimize the particle spacing and paths to the seed files for each junction.
----
'''6. Create a seeds directory.'''
mkdir seeds
----
'''7. Run script: gen_seeds.py'''
Command: python ./create_seeds.py
Creates files of all possible junctions q -> quad, t-> triple, and d -> double in the seeds directory.
----
'''8. Run the particle system: rendersf3d from the directory with the .nrrd files'''
Command: /path/miriah/Multisurfaces/rendersf3d junctions/psystem_input.txt
rendersf3d commands:
spacebar: optimize/pause
w: write points
d: delete double points on triple junctions
q: quit
----
'''9. Write out points.'''
----
'''10. Run script: pts2tets.py from the main directory with the settings file'''
Command: python ./pts2tets.py junctions
Input: the junctions directory you want to optimize
Formats the points so they can be used by tetgen. Then runs tetgen to create a delany surfaces. It then formats the data into a .fld and .m files so it can be read by scirun and matlab.
----
'''11. Read .fld into scirun.'''
use the readfield module
----
'''12. Mesh inner volume of surfaces with tetgen'''
use the interfacewithTetgen module
5213
5212
2008-09-24T22:00:17Z
Darrell
59
wikitext
text/x-wiki
'''1. Sart with .nrrd files with one or more label maps'''
----
'''2. Create settings file: example_bm3d_settings.py'''
----
'''3. Run script: gen_particle_sys_inputs.py'''
Command: python ./gen_particle_sys_inputs.py example.nrrd
a. Breaks label maps into multiple materials
b. Resamples and pads .nrrd files
c. Runs a tightening algorithm
d. Creates a medial axis file
e. Converts .nrrds to .vol
f. Creates sizing field
----
'''4. Run script: create_junction_dir.py'''
Command: python ./create_junction_dirs.py [number of materials]
Input: [number of materials]
a. Creates directories that contain two files: particle_params.txt and psystem_input.txt
particle_params.txt: List of materials and parameters for anisotropy/isotropy.
psystem_input.txt: Paths and inputs to the particle system.
----
'''5. Create a file in the Junctions directory called m1.txt'''
m1.txt indicates which junctions you want to optimize the particle spacing and paths to the seed files for each junction.
----
'''6. Create a seeds directory.'''
mkdir seeds
----
'''7. Run script: gen_seeds.py'''
Command: python ./create_seeds.py
Creates files of all possible junctions q -> quad, t-> triple, and d -> double in the seeds directory.
----
'''8. Run the particle system: rendersf3d from the directory with the .nrrd files'''
Command: /path/miriah/Multisurfaces/rendersf3d junctions/psystem_input.txt
rendersf3d commands:
spacebar: optimize/pause
w: write points
d: delete double points on triple junctions
q: quit
----
'''9. Write out points.'''
----
'''10. Run script: pts2tets.py from the main directory with the settings file'''
Command: python ./pts2tets.py junctions
Input: the junctions directory you want to optimize
Formats the points so they can be used by tetgen. Then runs tetgen to create a delany surfaces. It then formats the data into a .fld and .m files so it can be read by scirun and matlab.
----
'''11. Read .fld into scirun.'''
use the readfield module
----
'''12. Mesh inner volume of surfaces with tetgen'''
use the interfacewithTetgen module
5215
5213
2008-09-24T22:17:13Z
Darrell
59
wikitext
text/x-wiki
'''1. Sart with .nrrd files with one or more label maps'''
----
'''2. Create settings file: example_bm3d_settings.py'''
----
'''3. Run script: gen_particle_sys_inputs.py'''
Command: python ./gen_particle_sys_inputs.py example.nrrd
a. Breaks label maps into multiple materials
b. Resamples and pads .nrrd files
c. Runs a tightening algorithm
d. Creates a medial axis file
e. Converts .nrrds to .vol
f. Creates sizing field
----
'''4. Run script: create_junction_dir.py'''
Command: python ./create_junction_dirs.py [number of materials]
Input: [number of materials]
a. Creates directories that contain two files: particle_params.txt and psystem_input.txt
particle_params.txt: List of materials and parameters for anisotropy/isotropy.
psystem_input.txt: Paths and inputs to the particle system.
----
'''5. Create a file in the Junctions directory called m1.txt'''
m1.txt indicates which junctions you want to optimize the particle spacing and paths to the seed files for each junction.
----
'''6. Create a seeds directory.'''
mkdir seeds
----
'''7. Run script: gen_seeds.py'''
Command: python ./create_seeds.py
Creates files of all possible junctions q -> quad, t-> triple, and d -> double in the seeds directory.
----
'''8. Run the particle system: rendersf3d from the directory with the .nrrd files'''
Command: /path/miriah/Multisurfaces/rendersf3d junctions/psystem_input.txt
rendersf3d commands:
spacebar: optimize/pause
w: write points
d: delete double points on triple junctions
q: quit
----
'''9. Write out points.'''
----
'''10. Run script: pts2tets.py from the main directory with the settings file'''
Command: python ./pts2tets.py junctions
Input: the junctions directory you have optimized
Formats the points so they can be used by tetgen. Then runs tetgen to create a delany surfaces. It then formats the data into a .fld and .m files so it can be read by scirun and matlab.
----
'''11. Read .fld into scirun.'''
use the readfield module
----
'''12. Mesh inner volume of surfaces with tetgen'''
use the interfacewithTetgen module
5221
5215
2008-10-10T23:56:38Z
Ayla
57
wikitext
text/x-wiki
'''1. Start with .nrrd files with one or more label maps'''
----
'''2. Create settings file: example_bm3d_settings.py'''
----
'''3. Run script: gen_particle_sys_inputs.py'''
Command: python ./gen_particle_sys_inputs.py example.nrrd
a. Breaks label maps into multiple materials
b. Resamples and pads .nrrd files
c. Runs a tightening algorithm
d. Creates a medial axis file
e. Converts .nrrds to .vol
f. Creates sizing field
----
'''4. Run script: create_junction_dir.py'''
Command: python ./create_junction_dirs.py [number of materials]
Input: [number of materials]
a. Creates directories that contain two files: particle_params.txt and psystem_input.txt
particle_params.txt: List of materials and parameters for anisotropy/isotropy.
psystem_input.txt: Paths and inputs to the particle system.
----
'''5. Create a file in the Junctions directory called m1.txt'''
m1.txt indicates which junctions you want to optimize the particle spacing and paths to the seed files for each junction.
----
'''6. Create a seeds directory.'''
mkdir seeds
----
'''7. Run script: gen_seeds.py'''
Command: python ./create_seeds.py
Creates files of all possible junctions q -> quad, t-> triple, and d -> double in the seeds directory.
----
'''8. Run the particle system: rendersf3d from the directory with the .nrrd files'''
Command: /path/miriah/Multisurfaces/rendersf3d junctions/psystem_input.txt
rendersf3d commands:
spacebar: optimize/pause
w: write points
d: delete double points on triple junctions
q: quit
----
'''9. Write out points.'''
----
'''10. Run script: pts2tets.py from the main directory with the settings file'''
Command: python ./pts2tets.py junctions
Input: the junctions directory you have optimized
Formats the points so they can be used by tetgen. Then runs tetgen to create a delany surfaces. It then formats the data into a .fld and .m files so it can be read by scirun and matlab.
----
'''11. Read .fld into scirun.'''
use the readfield module
----
'''12. Mesh inner volume of surfaces with tetgen'''
use the interfacewithTetgen module
CIBC:Meshing
0
2603
5214
5168
2008-09-24T22:10:05Z
Ayla
57
Add wiki link to pipeline page.
wikitext
text/x-wiki
=Meshing =
''This list should be edited by Chris and the meshing group, to best utilize Marty's consulting time according to ncrr priorities. Marty will remove items when completed.''
meshing task list:
# Developers help (compilation and usage)
# Organize completed model data on sci filesystem and wiki
# '''Create Mesh''' - 10y torso w/ blood volume (matt jolley)
# move particle rendering to SCIRun.
# move particle optimizers to SCIRun/algo.
# make particle system run threaded jobs per junction type.
# detect empty junction instead of crashing.
# automate writing output files when complete.
# fix bug with double junction particles ending up on triple junction.
[[CIBC:Meshing pipeline| meshing pipeline]]
[[CIBC:Meshing Results| collaborator meshing results]]
[[CIBC:Meshing compiling| compiling/running]]
[[CIBC:Meshing completed models| completed mesh projects]]
CIBC:Meshing compiling
0
2604
5216
5166
2008-10-10T22:55:42Z
Ayla
57
Updating Vispack.
wikitext
text/x-wiki
== Building the Code ==
Checkout the folowing repositories:
* https://code.sci.utah.edu/svn/people/miriah
* https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
At this point just enough support was added to the vispack and miriah repo's to make them useable. These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with. For now this is the useable pipeline for creating meshes with an engineer running the code. We will migrate this into a researcher useable PowerApp.
=== Install Teem ===
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Install GLEW ===
* follow the [http://glew.sourceforge.net/install.html instructions].
=== Build vispack ===
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
Vispack depends on [http://sourceforge.net/projects/teem Teem].
==== Cmake ====
Use Cmake 2.6.
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
* add lapack link. liblapack1.so to liblapack.so
=== Build miriah ===
==== Preprocessing only (no particle system) ====
* skip to cmake step.
* make -k (ignore compilation errors)
==== Particle system enabled ====
* Install [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] First try synaptic or Yast or whatever precompiled options your system has.. Ubuntu has this ready to go.
* cmake step
* make
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
==== Cmake ====
* mkdir mir-opt;
* cd mir-opt;
* ccmake ../miriah
** CMAKE_BUILD_TYPE: Release
** GLEW_INCLUDE: <path to your installation>/glew/include
** GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
** VISPACK_DIR: <path to your checkout> /vispack
** VISPACK_LIBS: <path to your binary dir> /vpbin/lib
=== Build SCIRun ===
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface. Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
== Using the Code ==
=== Scripts ===
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
==== example_bm3d_settings.py ====
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from. It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
==== gen_particle_sys_inputs.py ====
This is the main script for preprocessing from a segmentation. Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script. It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
==== convert_crossings.py ====
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
==== create_junction_dirs.py ====
Helper script to generate dir for targeting the particle system. I pass a 4 to this typically since I run up to 4 particle system jobs at a time. These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name. Separate dirs keeps the different jobs from clobbering eachothers output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
==== gen_seeds.py ====
Make a new directory in your working dir, named seeds. Then run this script to get the set of possible junctions, and the seed points for them. The directory will contain a seed file for every junction that possibly exists. Possible quad junctions start with a q, t for triples and d for double junctions.
==== pts2tets.py ====
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
=== Preprocessing Segmentation ===
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
=== Running the Particle System ===
=== Building the TetVol ===
=== Mapping Indices back to 1 index per material ===
5217
5216
2008-10-10T23:14:31Z
Ayla
57
Update miriah.
wikitext
text/x-wiki
== Building the Code ==
Checkout the folowing repositories:
* https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
At this point just enough support was added to the vispack and miriah repo's to make them useable. These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with. For now this is the useable pipeline for creating meshes with an engineer running the code. We will migrate this into a researcher usable PowerApp.
=== Install Teem ===
Download Teem 1.9.0 from [http://sourceforge.net/projects/teem SourceForge].
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Install GLEW ===
* follow the [http://glew.sourceforge.net/install.html instructions].
=== Build vispack ===
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
Vispack depends on [[CIBC:Meshing_compiling#Install_Teem|Teem]] and [http://www.netlib.org/lapack Lapack].
==== Cmake ====
Use Cmake 2.6.
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM installation.
* If necessary, create symbolic link from liblapack1.so to liblapack.so.
=== Build miriah ===
We are building Miriah's code from [https://code.sci.utah.edu/svn/people/miriah Subversion].
Install [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib].
First try synaptic or Yast or whatever precompiled options your system has.
Ubuntu has this ready to go.
==== Preprocessing only (no particle system) ====
* skip to cmake step.
* make -k (ignore compilation errors)
==== Particle system enabled ====
*
* cmake step
* make
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
==== Cmake ====
* mkdir mir-opt;
* cd mir-opt;
* ccmake ../miriah
** CMAKE_BUILD_TYPE: Release
** GLEW_INCLUDE: <path to your installation>/glew/include
** GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
** VISPACK_DIR: <path to your checkout> /vispack
** VISPACK_LIBS: <path to your binary dir> /vpbin/lib
For OS X 10.5, the CMAKE_EXE_LINKER_FLAGS should look like:
** CMAKE_EXE_LINKER_FLAGS: -dylib_file /System/Library/Frameworks/OpenGL.framework/Version/A/Libraries/libGL.so: /System/Library/frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -L/usr/X11/lib -framework GLUT -framework Cg -framework GLUI
=== Build SCIRun ===
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface. Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
== Using the Code ==
=== Scripts ===
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
==== example_bm3d_settings.py ====
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from. It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
==== gen_particle_sys_inputs.py ====
This is the main script for preprocessing from a segmentation. Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script. It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
==== convert_crossings.py ====
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
==== create_junction_dirs.py ====
Helper script to generate dir for targeting the particle system. I pass a 4 to this typically since I run up to 4 particle system jobs at a time. These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name. Separate dirs keeps the different jobs from clobbering eachothers output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
==== gen_seeds.py ====
Make a new directory in your working dir, named seeds. Then run this script to get the set of possible junctions, and the seed points for them. The directory will contain a seed file for every junction that possibly exists. Possible quad junctions start with a q, t for triples and d for double junctions.
==== pts2tets.py ====
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
=== Preprocessing Segmentation ===
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
=== Running the Particle System ===
=== Building the TetVol ===
=== Mapping Indices back to 1 index per material ===
5218
5217
2008-10-10T23:31:16Z
Ayla
57
Update miriah.
wikitext
text/x-wiki
== Building the Code ==
Checkout the folowing repositories:
* https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
At this point just enough support was added to the vispack and miriah repo's to make them useable. These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with. For now this is the useable pipeline for creating meshes with an engineer running the code. We will migrate this into a researcher usable PowerApp.
=== Install Teem ===
Download Teem 1.9.0 from [http://sourceforge.net/projects/teem SourceForge].
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Install GLEW ===
* follow the [http://glew.sourceforge.net/install.html instructions].
=== Build vispack ===
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
Vispack depends on [[CIBC:Meshing_compiling#Install_Teem|Teem]] and [http://www.netlib.org/lapack Lapack].
===== OS X =====
The vecLib framework includes Lapack (linker option -framework veclib).
==== Cmake ====
Use Cmake 2.6.
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM installation.
* If necessary, create symbolic link from liblapack1.so to liblapack.so.
=== Build miriah ===
We are building Miriah's code from [https://code.sci.utah.edu/svn/people/miriah Subversion].
Install [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib].
First try synaptic or Yast or whatever precompiled options your system has.
Ubuntu has this ready to go.
Install GLUI if necessary.
===== OS X =====
Download the [http://lukecyca.com/2007/02/14/glui-23-framework-for-mac-os-x/ framework].
==== Preprocessing only (no particle system) ====
* skip to cmake step.
* make -k (ignore compilation errors)
==== Particle system enabled ====
*
* cmake step
* make
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
==== Cmake ====
* mkdir mir-opt;
* cd mir-opt;
* ccmake ../miriah
** CMAKE_BUILD_TYPE: Release
** GLEW_INCLUDE: <path to your installation>/glew/include
** GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
** VISPACK_DIR: <path to your checkout> /vispack
** VISPACK_LIBS: <path to your binary dir> /vpbin/lib
===== OS X =====
For OS X 10.5, the CMAKE_EXE_LINKER_FLAGS should look like:
** CMAKE_EXE_LINKER_FLAGS: -dylib_file /System/Library/Frameworks/OpenGL.framework/Version/A/Libraries/libGL.so: /System/Library/frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -L/usr/X11/lib -framework GLUT -framework Cg -framework GLUI
=== Build SCIRun ===
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface. Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
== Using the Code ==
=== Scripts ===
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
==== example_bm3d_settings.py ====
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from. It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
==== gen_particle_sys_inputs.py ====
This is the main script for preprocessing from a segmentation. Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script. It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
==== convert_crossings.py ====
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
==== create_junction_dirs.py ====
Helper script to generate dir for targeting the particle system. I pass a 4 to this typically since I run up to 4 particle system jobs at a time. These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name. Separate dirs keeps the different jobs from clobbering eachothers output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
==== gen_seeds.py ====
Make a new directory in your working dir, named seeds. Then run this script to get the set of possible junctions, and the seed points for them. The directory will contain a seed file for every junction that possibly exists. Possible quad junctions start with a q, t for triples and d for double junctions.
==== pts2tets.py ====
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
=== Preprocessing Segmentation ===
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
=== Running the Particle System ===
=== Building the TetVol ===
=== Mapping Indices back to 1 index per material ===
5219
5218
2008-10-10T23:50:56Z
Ayla
57
Updating miriah, vispack, thirdparty tools.
wikitext
text/x-wiki
= Building the Code =
Checkout the folowing repositories:
* https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
At this point just enough support was added to the vispack and miriah repo's to make them useable. These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with. For now this is the useable pipeline for creating meshes with an engineer running the code. We will migrate this into a researcher usable PowerApp.
== Thirdparty tools ==
=== Install Teem ===
Download Teem 1.9.0 from [http://sourceforge.net/projects/teem SourceForge].
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Install GLEW ===
Binaries are [http://glew.sourceforge.net available] for most platforms.
Follow the installation [http://glew.sourceforge.net/install.html instructions].
=== Install GLUI ===
Miriah's code uses [http://sourceforge.net/projects/glui/ GLUI].
First try a precompiled option for your system.
==== OS X ====
Download the [http://lukecyca.com/2007/02/14/glui-23-framework-for-mac-os-x/ framework].
==== Cg ====
Install [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib].
First try synaptic or Yast or whatever precompiled options your system has.
Ubuntu has this ready to go.
== Build vispack ==
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
Vispack depends on [[CIBC:Meshing_compiling#Install_Teem|Teem]] and [http://www.netlib.org/lapack Lapack].
===== OS X =====
The vecLib framework includes Lapack (linker option -framework veclib).
==== Cmake ====
Use Cmake 2.6.
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM installation.
* If necessary, create symbolic link from liblapack1.so to liblapack.so.
== Build miriah ==
We are building Miriah's code from [https://code.sci.utah.edu/svn/people/miriah Subversion].
==== Preprocessing only (no particle system) ====
* skip to cmake step.
* make -k (ignore compilation errors)
==== Particle system enabled ====
*
* cmake step
* make
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
==== Cmake ====
* mkdir mir-opt;
* cd mir-opt;
* ccmake ../miriah
** CMAKE_BUILD_TYPE: Release
** GLEW_INCLUDE: <path to your installation>/glew/include
** GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
** VISPACK_DIR: <path to your checkout> /vispack
** VISPACK_LIBS: <path to your binary dir> /vpbin/lib
** CXX_FLAGS: in addition to setting GLEW_INCLUDE, put include paths to GLEW, GLUI and Cg here
===== OS X =====
For OS X 10.5, the CMAKE_EXE_LINKER_FLAGS should look like:
** CMAKE_EXE_LINKER_FLAGS: -dylib_file /System/Library/Frameworks/OpenGL.framework/Version/A/Libraries/libGL.so: /System/Library/frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -L/usr/X11/lib -framework GLUT -framework Cg -framework GLUI
== Build SCIRun ==
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface. Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
= Using the Code =
== Scripts ==
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
== example_bm3d_settings.py ==
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from. It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
== gen_particle_sys_inputs.py ==
This is the main script for preprocessing from a segmentation. Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script. It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
== convert_crossings.py ==
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
== create_junction_dirs.py ==
Helper script to generate dir for targeting the particle system. I pass a 4 to this typically since I run up to 4 particle system jobs at a time. These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name. Separate dirs keeps the different jobs from clobbering eachothers output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
== gen_seeds.py ==
Make a new directory in your working dir, named seeds. Then run this script to get the set of possible junctions, and the seed points for them. The directory will contain a seed file for every junction that possibly exists. Possible quad junctions start with a q, t for triples and d for double junctions.
== pts2tets.py ==
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
== Preprocessing Segmentation ==
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
== Running the Particle System ==
== Building the TetVol ==
== Mapping Indices back to 1 index per material ==
5220
5219
2008-10-10T23:56:09Z
Ayla
57
Updating miriah, vispack, thirdparty tools.
wikitext
text/x-wiki
= Building the Code =
Checkout the folowing repositories:
* https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
At this point just enough support was added to the vispack and miriah repositories to make them usable.
These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with.
For now this is the usable pipeline for creating meshes with an engineer running the code.
We will migrate this into a researcher usable PowerApp.
== Thirdparty tools ==
=== Teem ===
Download Teem 1.9.0 from [http://sourceforge.net/projects/teem SourceForge].
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== GLEW ===
Binaries are [http://glew.sourceforge.net available] for most platforms.
Follow the installation [http://glew.sourceforge.net/install.html instructions].
=== Lapack ===
Vispack depends on [http://www.netlib.org/lapack Lapack].
==== OS X ====
The vecLib framework includes Lapack (linker option -framework veclib).
=== GLUI ===
Miriah's code uses [http://sourceforge.net/projects/glui/ GLUI].
First try a precompiled option for your system.
==== OS X ====
Download the [http://lukecyca.com/2007/02/14/glui-23-framework-for-mac-os-x/ framework].
=== Cg ===
Install [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib].
First try synaptic or Yast or whatever precompiled options your system has.
Ubuntu has this ready to go.
== Build vispack ==
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
==== Cmake ====
Use Cmake 2.6.
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM installation.
* If necessary, create symbolic link from liblapack1.so to liblapack.so.
== Build miriah ==
We are building Miriah's code from [https://code.sci.utah.edu/svn/people/miriah Subversion].
==== Preprocessing only (no particle system) ====
* skip to cmake step.
* make -k (ignore compilation errors)
==== Particle system enabled ====
*
* cmake step
* make
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
==== Cmake ====
* mkdir mir-opt;
* cd mir-opt;
* ccmake ../miriah
** CMAKE_BUILD_TYPE: Release
** GLEW_INCLUDE: <path to your installation>/glew/include
** GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
** VISPACK_DIR: <path to your checkout> /vispack
** VISPACK_LIBS: <path to your binary dir> /vpbin/lib
** CXX_FLAGS: in addition to setting GLEW_INCLUDE, put include paths to GLEW, GLUI and Cg here
===== OS X =====
For OS X 10.5, the CMAKE_EXE_LINKER_FLAGS should look like:
** CMAKE_EXE_LINKER_FLAGS: -dylib_file /System/Library/Frameworks/OpenGL.framework/Version/A/Libraries/libGL.so: /System/Library/frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -L/usr/X11/lib -framework GLUT -framework Cg -framework GLUI
== Build SCIRun ==
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface. Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
= Using the Code =
== Scripts ==
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
== example_bm3d_settings.py ==
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from. It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
== gen_particle_sys_inputs.py ==
This is the main script for preprocessing from a segmentation. Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script. It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
== convert_crossings.py ==
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
== create_junction_dirs.py ==
Helper script to generate dir for targeting the particle system. I pass a 4 to this typically since I run up to 4 particle system jobs at a time. These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name. Separate dirs keeps the different jobs from clobbering eachothers output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
== gen_seeds.py ==
Make a new directory in your working dir, named seeds. Then run this script to get the set of possible junctions, and the seed points for them. The directory will contain a seed file for every junction that possibly exists. Possible quad junctions start with a q, t for triples and d for double junctions.
== pts2tets.py ==
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
== Preprocessing Segmentation ==
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
== Running the Particle System ==
== Building the TetVol ==
== Mapping Indices back to 1 index per material ==
5222
5220
2008-10-11T00:03:46Z
Ayla
57
Updating miriah, vispack, thirdparty tools.
wikitext
text/x-wiki
= Building the Code =
Checkout the folowing repositories:
* https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
At this point just enough support was added to the vispack and miriah repositories to make them usable.
These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with.
For now this is the usable pipeline for creating meshes with an engineer running the code.
We will migrate this into a researcher usable PowerApp.
== Thirdparty tools ==
=== Teem ===
Download Teem 1.9.0 from [http://sourceforge.net/projects/teem SourceForge].
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Lapack ===
Vispack depends on [http://www.netlib.org/lapack Lapack].
==== OS X ====
The vecLib framework includes Lapack (linker option -framework veclib).
=== GLEW ===
Miriah's code uses [http://glew.sourceforge.net available GLEW] to render visualization images for the particle system.
Binaries are for most platforms: follow the installation [http://glew.sourceforge.net/install.html instructions].
==== OS X ====
Download the GLX distribution.
=== GLUI ===
Miriah's code uses [http://sourceforge.net/projects/glui/ GLUI] to render visualization images for the particle system.
First try a precompiled option for your system.
==== OS X ====
Download the [http://lukecyca.com/2007/02/14/glui-23-framework-for-mac-os-x/ framework].
=== Cg ===
Miriah's code uses [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] to render visualization images for the particle system.
First try synaptic or Yast or whatever precompiled options your system has.
Ubuntu has this ready to go.
== Build Vispack ==
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
=== Cmake ===
Use Cmake 2.6.
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM installation.
* If necessary, create symbolic link from liblapack1.so to liblapack.so.
== Build miriah ==
We are building Miriah's code from [https://code.sci.utah.edu/svn/people/miriah Subversion].
=== Preprocessing only (no particle system) ===
* skip to cmake step.
* make -k (ignore compilation errors)
=== Particle system enabled ===
*
* cmake step
* make
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
=== Cmake ===
* mkdir mir-opt;
* cd mir-opt;
* ccmake ../miriah
** CMAKE_BUILD_TYPE: Release
** GLEW_INCLUDE: <path to your installation>/glew/include
** GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
** VISPACK_DIR: <path to your checkout> /vispack
** VISPACK_LIBS: <path to your binary dir> /vpbin/lib
** CXX_FLAGS: in addition to setting GLEW_INCLUDE, put include paths to GLEW, GLUI and Cg here
==== OS X ====
For OS X 10.5, the CMAKE_EXE_LINKER_FLAGS should look like:
** CMAKE_EXE_LINKER_FLAGS: -dylib_file /System/Library/Frameworks/OpenGL.framework/Version/A/Libraries/libGL.so: /System/Library/frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -L/usr/X11/lib -framework GLUT -framework Cg -framework GLUI
== Build SCIRun ==
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface. Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
= Using the Code =
== Scripts ==
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
== example_bm3d_settings.py ==
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from. It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
== gen_particle_sys_inputs.py ==
This is the main script for preprocessing from a segmentation. Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script. It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
== convert_crossings.py ==
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
== create_junction_dirs.py ==
Helper script to generate dir for targeting the particle system. I pass a 4 to this typically since I run up to 4 particle system jobs at a time. These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name. Separate dirs keeps the different jobs from clobbering eachothers output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
== gen_seeds.py ==
Make a new directory in your working dir, named seeds. Then run this script to get the set of possible junctions, and the seed points for them. The directory will contain a seed file for every junction that possibly exists. Possible quad junctions start with a q, t for triples and d for double junctions.
== pts2tets.py ==
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
== Preprocessing Segmentation ==
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
== Running the Particle System ==
== Building the TetVol ==
== Mapping Indices back to 1 index per material ==
5223
5222
2008-10-15T22:33:15Z
Ayla
57
Add TetGen to thirdparty software. Add additional build info for SCIRun.
wikitext
text/x-wiki
= Building the Code =
At this point just enough support was added to the vispack and miriah repositories to make them usable.
These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with.
For now this is the usable pipeline for creating meshes with an engineer running the code.
We will migrate this into a researcher usable PowerApp.
== Thirdparty tools ==
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
=== Teem ===
Download Teem 1.9.0 from [http://sourceforge.net/projects/teem SourceForge].
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Lapack ===
Vispack depends on [http://www.netlib.org/lapack Lapack].
==== OS X ====
The vecLib framework includes Lapack (linker option -framework veclib).
=== GLEW ===
Miriah's code uses [http://glew.sourceforge.net available GLEW] to render visualization images for the particle system.
Binaries are for most platforms: follow the installation [http://glew.sourceforge.net/install.html instructions].
==== OS X ====
Download the GLX distribution.
=== GLUI ===
Miriah's code uses [http://sourceforge.net/projects/glui/ GLUI] to render visualization images for the particle system.
First try a precompiled option for your system.
==== OS X ====
Download the [http://lukecyca.com/2007/02/14/glui-23-framework-for-mac-os-x/ framework].
=== Cg ===
Miriah's code uses [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] to render visualization images for the particle system.
First try synaptic or Yast or whatever precompiled options your system has.
Ubuntu has this ready to go.
=== TetGen ===
SCIRun needs to be built with [TetGen http://tetgen.berlios.de/] library support enabled.
The standalone TetGen application is also needed.
Build TetGen from source following these [instructions http://tetgen.berlios.de/compile.html].
== Build Vispack ==
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
=== Cmake ===
Use Cmake 2.6.
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM installation.
* If necessary, create symbolic link from liblapack1.so to liblapack.so.
== Build miriah ==
We are building Miriah's code from [https://code.sci.utah.edu/svn/people/miriah Subversion].
=== Preprocessing only (no particle system) ===
* skip to cmake step.
* make -k (ignore compilation errors)
=== Particle system enabled ===
*
* cmake step
* make
=== Cmake ===
* mkdir mir-opt;
* cd mir-opt;
* ccmake ../miriah
** CMAKE_BUILD_TYPE: Release
** GLEW_INCLUDE: <path to your installation>/glew/include
** GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a
** TEEM_DIR needs to point to your TEEM install path/lib/TEEM-?.??
** VISPACK_DIR: <path to your checkout> /vispack
** VISPACK_LIBS: <path to your binary dir> /vpbin/lib
** CXX_FLAGS: in addition to setting GLEW_INCLUDE, put include paths to GLEW, GLUI and Cg here
==== OS X ====
For OS X 10.5, the CMAKE_EXE_LINKER_FLAGS should look like:
** CMAKE_EXE_LINKER_FLAGS: -dylib_file /System/Library/Frameworks/OpenGL.framework/Version/A/Libraries/libGL.so: /System/Library/frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -L/usr/X11/lib -framework GLUT -framework Cg -framework GLUI
== Build SCIRun ==
Checkout SCIRun sources from [https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun Subversion].
We are currently using SCIRun revision 41237 for this project; other revisions may not work.
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface.
Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
= Using the Code =
== Scripts ==
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
== example_bm3d_settings.py ==
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from.
It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
== gen_particle_sys_inputs.py ==
This is the main script for preprocessing from a segmentation.
Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script.
It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
== convert_crossings.py ==
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
== create_junction_dirs.py ==
Helper script to generate dir for targeting the particle system.
I pass a 4 to this typically since I run up to 4 particle system jobs at a time.
These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name.
Separate dirs keeps the different jobs from clobbering each others output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
== gen_seeds.py ==
Make a new directory in your working dir, named seeds.
Then run this script to get the set of possible junctions, and the seed points for them.
The directory will contain a seed file for every junction that possibly exists.
Possible quad junctions start with a q, t for triples and d for double junctions.
== pts2tets.py ==
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
== Preprocessing Segmentation ==
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
== Running the Particle System ==
== Building the TetVol ==
== Mapping Indices back to 1 index per material ==
5224
5223
2008-10-16T23:35:53Z
Ayla
57
quick and dirty edits to miriah
wikitext
text/x-wiki
= Building the Code =
At this point just enough support was added to the vispack and miriah repositories to make them usable.
These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with.
For now this is the usable pipeline for creating meshes with an engineer running the code.
We will migrate this into a researcher usable PowerApp.
== Thirdparty tools ==
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
=== Teem ===
Download Teem 1.9.0 from [http://sourceforge.net/projects/teem SourceForge].
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Lapack ===
Vispack depends on [http://www.netlib.org/lapack Lapack].
==== OS X ====
The vecLib framework includes Lapack (linker option -framework veclib).
=== GLEW ===
Miriah's code uses [http://glew.sourceforge.net available GLEW] to render visualization images for the particle system.
Binaries are for most platforms: follow the installation [http://glew.sourceforge.net/install.html instructions].
==== OS X ====
Download the GLX distribution.
=== GLUI ===
Miriah's code uses [http://sourceforge.net/projects/glui/ GLUI] to render visualization images for the particle system.
First try a precompiled option for your system.
==== OS X ====
Download the [http://lukecyca.com/2007/02/14/glui-23-framework-for-mac-os-x/ framework].
=== Cg ===
Miriah's code uses [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] to render visualization images for the particle system.
First try synaptic or Yast or whatever precompiled options your system has.
Ubuntu has this ready to go.
=== TetGen ===
SCIRun needs to be built with [TetGen http://tetgen.berlios.de/] library support enabled.
The standalone TetGen application is also needed.
Build TetGen from source following these [instructions http://tetgen.berlios.de/compile.html].
== Build Vispack ==
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
=== Cmake ===
Use Cmake 2.6.
* mkdir vpbin;
* cd vpbin;
* ccmake ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM installation.
* If necessary, create symbolic link from liblapack1.so to liblapack.so.
== Build miriah ==
We are building Miriah's code from [https://code.sci.utah.edu/svn/people/miriah Subversion].
=== Preprocessing only (no particle system) ===
* skip to cmake step.
* make -k (ignore compilation errors)
=== Particle system enabled ===
*
* cmake step
* make
=== Cmake ===
* ccmake -i .
* set:
CMAKE_CXX_FLAGS: -I/System/Library/Frameworks/GLUT.framework/Headers -I/Library/Frameworks/GLUI.framework/Headers -I/Users/jeroen/BM3D/glew/include
CMAKE_EXE_LINKER_FLAGS: (os x opengl hack for os x) libGL -L/usr/X11/lib -framework GLUT (os x) -framework Cg (os x) -framework GLUI (or -llibname on linux)
* CMAKE_BUILD_TYPE: Release
* GLEW_INCLUDE: <path to your installation>/glew/include
* GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a or libGLEW.dylib
* GLUT_INCLUDE:...
* GLUT_LIBRARY:...
* OPENGL_INCLUDE_DIR:
* OPENGL_gl_LIBRARY:
* OPENGL_glu_LIBRARY:
* TEEM_DIR needs to point to your TEEM install path/lib/(teem library)
* VISPACK_DIR: <path to your checkout> /vispack (vispack build dir)
* VISPACK_LIBS: <path to your binary dir> /vpbin/lib (path to vispack lib dir)
==== OS X ====
For OS X 10.5, the CMAKE_EXE_LINKER_FLAGS should look like:
** CMAKE_EXE_LINKER_FLAGS: -dylib_file /System/Library/Frameworks/OpenGL.framework/Version/A/Libraries/libGL.so: /System/Library/frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -L/usr/X11/lib -framework GLUT -framework Cg -framework GLUI
== Build SCIRun ==
Checkout SCIRun sources from [https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun Subversion].
We are currently using SCIRun revision 41237 for this project; other revisions may not work.
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface.
Use the normal SCIRun build instructions, with the following exceptions.
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
= Using the Code =
== Scripts ==
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
== example_bm3d_settings.py ==
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from.
It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
== gen_particle_sys_inputs.py ==
This is the main script for preprocessing from a segmentation.
Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script.
It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
== convert_crossings.py ==
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
== create_junction_dirs.py ==
Helper script to generate dir for targeting the particle system.
I pass a 4 to this typically since I run up to 4 particle system jobs at a time.
These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name.
Separate dirs keeps the different jobs from clobbering each others output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
== gen_seeds.py ==
Make a new directory in your working dir, named seeds.
Then run this script to get the set of possible junctions, and the seed points for them.
The directory will contain a seed file for every junction that possibly exists.
Possible quad junctions start with a q, t for triples and d for double junctions.
== pts2tets.py ==
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
== Preprocessing Segmentation ==
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
== Running the Particle System ==
== Building the TetVol ==
== Mapping Indices back to 1 index per material ==
5225
5224
2008-10-16T23:59:56Z
Ayla
57
another quick and dirty edit
wikitext
text/x-wiki
= Building the Code =
At this point just enough support was added to the vispack and miriah repositories to make them usable.
These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with.
For now this is the usable pipeline for creating meshes with an engineer running the code.
We will migrate this into a researcher usable PowerApp.
== Thirdparty tools ==
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
=== Teem ===
Download Teem 1.9.0 from [http://sourceforge.net/projects/teem SourceForge].
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Lapack ===
Vispack depends on [http://www.netlib.org/lapack Lapack].
==== OS X ====
The vecLib framework includes Lapack (linker option -framework veclib).
=== GLEW ===
Miriah's code uses [http://glew.sourceforge.net available GLEW] to render visualization images for the particle system.
Binaries are for most platforms: follow the installation [http://glew.sourceforge.net/install.html instructions].
Build from source on OS X 10.5 (Leopard)
==== OS X 10.5 ====
Download source tarball.
Modify src/include/GL/glew.h:
Delete first code block wrapped by (line 223 -- show diff):
#ifdef APPLE
#endif
Modify config/Makefile.darwin:
Delete ifdef controlling GLX / AGL build - build GLX version.
=== GLUI ===
Miriah's code uses [http://sourceforge.net/projects/glui/ GLUI] to render visualization images for the particle system.
First try a precompiled option for your system.
==== OS X ====
Download the [http://lukecyca.com/2007/02/14/glui-23-framework-for-mac-os-x/ framework].
=== Cg ===
Miriah's code uses [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] to render visualization images for the particle system.
First try synaptic or Yast or whatever precompiled options your system has.
Ubuntu has this ready to go.
=== TetGen ===
SCIRun needs to be built with [TetGen http://tetgen.berlios.de/] library support enabled.
The standalone TetGen application is also needed.
Build TetGen from source following these [instructions http://tetgen.berlios.de/compile.html].
== Build Vispack ==
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
=== Cmake ===
Use Cmake 2.6.
* mkdir vpbin
* cd vpbin
* ccmake -i ../vispack
** set CMAKE_BUILD_TYPE to Release
** TEEM_DIR needs to point to your TEEM installation.
* If necessary, create symbolic link from liblapack1.so to liblapack.so.
* make
== Build miriah ==
We are building Miriah's code from [https://code.sci.utah.edu/svn/people/miriah Subversion].
=== Preprocessing only (no particle system) ===
* skip to cmake step.
* make -k (ignore compilation errors)
=== Particle system enabled ===
*
* cmake step
* make
=== Cmake ===
* ccmake -i .
* set:
CMAKE_CXX_FLAGS: -I/System/Library/Frameworks/GLUT.framework/Headers -I/Library/Frameworks/GLUI.framework/Headers -I/Users/jeroen/BM3D/glew/include
CMAKE_EXE_LINKER_FLAGS: (os x opengl hack for os x) libGL -L/usr/X11/lib -framework GLUT (os x) -framework Cg (os x) -framework GLUI (or -llibname on linux)
* CMAKE_BUILD_TYPE: Release
* GLEW_INCLUDE: <path to your installation>/glew/include
* GLEW_LIBRARY: <path to your installation>/glew/lib/libGLEW.a or libGLEW.dylib
* GLUT_INCLUDE:...
* GLUT_LIBRARY:...
* OPENGL_INCLUDE_DIR:
* OPENGL_gl_LIBRARY:
* OPENGL_glu_LIBRARY:
* TEEM_DIR needs to point to your TEEM install path/lib/(teem library)
* VISPACK_DIR: <path to your checkout> /vispack (vispack build dir)
* VISPACK_LIBS: <path to your binary dir> /vpbin/lib (path to vispack lib dir)
==== OS X ====
For OS X 10.5, the CMAKE_EXE_LINKER_FLAGS should look like:
** CMAKE_EXE_LINKER_FLAGS: -dylib_file /System/Library/Frameworks/OpenGL.framework/Version/A/Libraries/libGL.so: /System/Library/frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -L/usr/X11/lib -framework GLUT -framework Cg -framework GLUI
== Build SCIRun ==
Checkout SCIRun sources from [https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun Subversion].
We are currently using SCIRun revision 41519 for this project; other revisions may not work.
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface.
Use the normal SCIRun build instructions, with the following exceptions.
* apply patch...
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
* set TETGEN_DIR
= Using the Code =
== Scripts ==
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
== example_bm3d_settings.py ==
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from.
It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
== gen_particle_sys_inputs.py ==
This is the main script for preprocessing from a segmentation.
Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script.
It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
== convert_crossings.py ==
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
== create_junction_dirs.py ==
Helper script to generate dir for targeting the particle system.
I pass a 4 to this typically since I run up to 4 particle system jobs at a time.
These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name.
Separate dirs keeps the different jobs from clobbering each others output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
== gen_seeds.py ==
Make a new directory in your working dir, named seeds.
Then run this script to get the set of possible junctions, and the seed points for them.
The directory will contain a seed file for every junction that possibly exists.
Possible quad junctions start with a q, t for triples and d for double junctions.
== pts2tets.py ==
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
== Preprocessing Segmentation ==
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
== Running the Particle System ==
== Building the TetVol ==
== Mapping Indices back to 1 index per material ==
5226
5225
2008-10-17T02:22:44Z
Ayla
57
Cleanup build instructions. Add links to patches.
wikitext
text/x-wiki
= Building the Code =
At this point just enough support was added to the vispack and miriah repositories to make them usable.
These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with.
For now this is the usable pipeline for creating meshes with an engineer running the code.
We will migrate this into a researcher usable PowerApp.
== Thirdparty tools ==
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
=== Teem ===
Download Teem 1.9.0 from [http://sourceforge.net/projects/teem SourceForge].
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Lapack ===
Vispack depends on [http://www.netlib.org/lapack Lapack].
==== OS X ====
The vecLib framework includes Lapack (linker option -framework veclib).
=== GLEW ===
Miriah's code uses [http://glew.sourceforge.net available GLEW] to render visualization images for the particle system.
Binaries are for most platforms: follow the installation [http://glew.sourceforge.net/install.html instructions].
Build from source on OS X 10.5 (Leopard)
==== OS X 10.5 ====
Download source tarball and unpack.
Download glew.h [http://software.sci.utah.edu/releases/patches/patch_glew_h.txt patch], save in glew directory and apply patch.
<code>
patch -p0 < patch_glew_h.txt
</code>
Download Makefile.darwin [http://software.sci.utah.edu/releases/patches/patch_Makefile_darwin.txt patch], save in glew directory and apply patch.
<code>
patch -p0 < patch_Makefile_darwin.txt
</code>
=== GLUI ===
Miriah's code uses [http://sourceforge.net/projects/glui/ GLUI] to render visualization images for the particle system.
First try a precompiled option for your system.
==== OS X ====
Download the [http://lukecyca.com/2007/02/14/glui-23-framework-for-mac-os-x/ framework].
=== Cg ===
Miriah's code uses [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] to render visualization images for the particle system.
First try synaptic or Yast or whatever precompiled options your system has.
Ubuntu has this ready to go.
=== TetGen ===
SCIRun needs to be built with [TetGen http://tetgen.berlios.de/] library support enabled.
The standalone TetGen application is also needed.
Build TetGen from source following these [instructions http://tetgen.berlios.de/compile.html].
== Build Vispack ==
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
=== Cmake ===
Use Cmake 2.6.
<pre>
mkdir vpbin<br>
cd vpbin<br>
ccmake -i ../vispack<br>
</pre>
CMake variables:
<pre>
CMAKE_BUILD_TYPE = Release
TEEM_DIR = <path to TEEM installation>
</pre>
If necessary, create symbolic link from liblapack1.so to liblapack.so.
Make in vpbin.
== Build miriah ==
We are building Miriah's code from [https://code.sci.utah.edu/svn/people/miriah Subversion].
=== Preprocessing only (no particle system) ===
* skip to cmake step.
* make -k (ignore compilation errors)
=== Particle system enabled ===
* cmake step
* make
=== Cmake ===
<pre>
ccmake -i .
</pre>
Set CMake variables:
<pre>
CMAKE_CXX_FLAGS = -I<path to GLUT include dir> -I<path to GLUI include dir> -I<path to glew include dir>
CMAKE_EXE_LINKER_FLAGS = -L/usr/X11/lib, add GL, GLUT, GLUI and Cg libraries
CMAKE_BUILD_TYPE = Release
GLEW_INCLUDE = <path to your glew include dir>/glew/include
GLEW_LIBRARY = <full path to your glew library>
GLUT_INCLUDE:...
GLUT_LIBRARY:...
OPENGL_INCLUDE_DIR:
OPENGL_gl_LIBRARY:
OPENGL_glu_LIBRARY:
TEEM_DIR needs to point to your TEEM install path/lib/(teem library)
VISPACK_DIR: <path to your checkout> /vispack (vispack build dir)
VISPACK_LIBS: <path to your binary dir> /vpbin/lib (path to vispack lib dir)
</pre>
==== OS X ====
For OS X 10.5, the CMAKE_EXE_LINKER_FLAGS should look like:
<pre>
CMAKE_EXE_LINKER_FLAGS: -dylib_file /System/Library/Frameworks/OpenGL.framework/Version/A/Libraries/libGL.so: /System/Library/frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -L/usr/X11/lib -framework GLUT -framework Cg -framework GLUI
</pre>
== Build SCIRun ==
Checkout SCIRun sources from [https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun Subversion].
We are currently using SCIRun revision 41519 for this project; other revisions may not work.
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface.
Use the normal SCIRun build instructions, with the following exceptions.
Download the SCIRun [http://software.sci.utah.edu/releases/patches/patch_SCIRun_41519.txt patch], save the SCIRun/src directory and apply patch.
<code>
patch -p0 < patch_SCIRun_41519
</code>
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
* set TETGEN_DIR
= Using the Code =
== Scripts ==
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
== example_bm3d_settings.py ==
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from.
It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
== gen_particle_sys_inputs.py ==
This is the main script for preprocessing from a segmentation.
Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script.
It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
== convert_crossings.py ==
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
== create_junction_dirs.py ==
Helper script to generate dir for targeting the particle system.
I pass a 4 to this typically since I run up to 4 particle system jobs at a time.
These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name.
Separate dirs keeps the different jobs from clobbering each others output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
== gen_seeds.py ==
Make a new directory in your working dir, named seeds.
Then run this script to get the set of possible junctions, and the seed points for them.
The directory will contain a seed file for every junction that possibly exists.
Possible quad junctions start with a q, t for triples and d for double junctions.
== pts2tets.py ==
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
== Preprocessing Segmentation ==
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
== Running the Particle System ==
== Building the TetVol ==
== Mapping Indices back to 1 index per material ==
5227
5226
2008-10-20T19:25:34Z
Ayla
57
/* OS X */
wikitext
text/x-wiki
= Building the Code =
At this point just enough support was added to the vispack and miriah repositories to make them usable.
These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with.
For now this is the usable pipeline for creating meshes with an engineer running the code.
We will migrate this into a researcher usable PowerApp.
== Thirdparty tools ==
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
=== Teem ===
Download Teem 1.9.0 from [http://sourceforge.net/projects/teem SourceForge].
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Lapack ===
Vispack depends on [http://www.netlib.org/lapack Lapack].
==== OS X ====
The vecLib framework includes Lapack (linker option -framework veclib).
=== GLEW ===
Miriah's code uses [http://glew.sourceforge.net available GLEW] to render visualization images for the particle system.
Binaries are for most platforms: follow the installation [http://glew.sourceforge.net/install.html instructions].
Build from source on OS X 10.5 (Leopard)
==== OS X 10.5 ====
Download source tarball and unpack.
Download glew.h [http://software.sci.utah.edu/releases/patches/patch_glew_h.txt patch], save in glew directory and apply patch.
<code>
patch -p0 < patch_glew_h.txt
</code>
Download Makefile.darwin [http://software.sci.utah.edu/releases/patches/patch_Makefile_darwin.txt patch], save in glew directory and apply patch.
<code>
patch -p0 < patch_Makefile_darwin.txt
</code>
=== GLUI ===
Miriah's code uses [http://sourceforge.net/projects/glui/ GLUI] to render visualization images for the particle system.
First try a precompiled option for your system.
==== OS X ====
Download the [http://lukecyca.com/2007/02/14/glui-23-framework-for-mac-os-x/ framework].
=== Cg ===
Miriah's code uses [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] to render visualization images for the particle system.
First try synaptic or Yast or whatever precompiled options your system has.
Ubuntu has this ready to go.
=== TetGen ===
SCIRun needs to be built with [TetGen http://tetgen.berlios.de/] library support enabled.
The standalone TetGen application is also needed.
Build TetGen from source following these [instructions http://tetgen.berlios.de/compile.html].
== Build Vispack ==
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
=== Cmake ===
Use Cmake 2.6.
<pre>
mkdir vpbin<br>
cd vpbin<br>
ccmake -i ../vispack<br>
</pre>
CMake variables:
<pre>
CMAKE_BUILD_TYPE = Release
TEEM_DIR = <path to TEEM installation>
</pre>
If necessary, create symbolic link from liblapack1.so to liblapack.so.
Make in vpbin.
== Build miriah ==
We are building Miriah's code from [https://code.sci.utah.edu/svn/people/miriah Subversion].
=== Preprocessing only (no particle system) ===
* skip to cmake step.
* make -k (ignore compilation errors)
=== Particle system enabled ===
* cmake step
* make
=== Cmake ===
<pre>
ccmake -i .
</pre>
Set CMake variables:
<pre>
CMAKE_CXX_FLAGS = -I<path to GLUT include dir> -I<path to GLUI include dir> -I<path to glew include dir>
CMAKE_EXE_LINKER_FLAGS = -L/usr/X11/lib, add GL, GLUT, GLUI and Cg libraries
CMAKE_BUILD_TYPE = Release
GLEW_INCLUDE = <path to your glew include dir>/glew/include
GLEW_LIBRARY = <full path to your glew library>
GLUT_INCLUDE:...
GLUT_LIBRARY:...
OPENGL_INCLUDE_DIR:
OPENGL_gl_LIBRARY:
OPENGL_glu_LIBRARY:
TEEM_DIR needs to point to your TEEM install path/lib/(teem library)
VISPACK_DIR: <path to your checkout> /vispack (vispack build dir)
VISPACK_LIBS: <path to your binary dir> /vpbin/lib (path to vispack lib dir)
</pre>
==== OS X ====
For OS X 10.5, the CMAKE_EXE_LINKER_FLAGS should look like:
<pre>
CMAKE_EXE_LINKER_FLAGS: -dylib_file /System/Library/Frameworks/OpenGL.framework/Version/A/Libraries/libGL.so: \
/System/Library/frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib \
-L/usr/X11/lib -framework GLUT -framework Cg -framework GLUI
</pre>
== Build SCIRun ==
Checkout SCIRun sources from [https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun Subversion].
We are currently using SCIRun revision 41519 for this project; other revisions may not work.
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface.
Use the normal SCIRun build instructions, with the following exceptions.
Download the SCIRun [http://software.sci.utah.edu/releases/patches/patch_SCIRun_41519.txt patch], save the SCIRun/src directory and apply patch.
<code>
patch -p0 < patch_SCIRun_41519
</code>
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
* set TETGEN_DIR
= Using the Code =
== Scripts ==
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
== example_bm3d_settings.py ==
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from.
It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
== gen_particle_sys_inputs.py ==
This is the main script for preprocessing from a segmentation.
Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script.
It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
== convert_crossings.py ==
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
== create_junction_dirs.py ==
Helper script to generate dir for targeting the particle system.
I pass a 4 to this typically since I run up to 4 particle system jobs at a time.
These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name.
Separate dirs keeps the different jobs from clobbering each others output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
== gen_seeds.py ==
Make a new directory in your working dir, named seeds.
Then run this script to get the set of possible junctions, and the seed points for them.
The directory will contain a seed file for every junction that possibly exists.
Possible quad junctions start with a q, t for triples and d for double junctions.
== pts2tets.py ==
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
== Preprocessing Segmentation ==
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
== Running the Particle System ==
== Building the TetVol ==
== Mapping Indices back to 1 index per material ==
5228
5227
2008-10-20T19:50:08Z
Ayla
57
/* TetGen */
wikitext
text/x-wiki
= Building the Code =
At this point just enough support was added to the vispack and miriah repositories to make them usable.
These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with.
For now this is the usable pipeline for creating meshes with an engineer running the code.
We will migrate this into a researcher usable PowerApp.
== Thirdparty tools ==
''There may be additional software required, I currently cannot remember. Please add them to the above list if you encounter them.''
=== Teem ===
Download Teem 1.9.0 from [http://sourceforge.net/projects/teem SourceForge].
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Lapack ===
Vispack depends on [http://www.netlib.org/lapack Lapack].
==== OS X ====
The vecLib framework includes Lapack (linker option -framework veclib).
=== GLEW ===
Miriah's code uses [http://glew.sourceforge.net available GLEW] to render visualization images for the particle system.
Binaries are for most platforms: follow the installation [http://glew.sourceforge.net/install.html instructions].
Build from source on OS X 10.5 (Leopard)
==== OS X 10.5 ====
Download source tarball and unpack.
Download glew.h [http://software.sci.utah.edu/releases/patches/patch_glew_h.txt patch], save in glew directory and apply patch.
<code>
patch -p0 < patch_glew_h.txt
</code>
Download Makefile.darwin [http://software.sci.utah.edu/releases/patches/patch_Makefile_darwin.txt patch], save in glew directory and apply patch.
<code>
patch -p0 < patch_Makefile_darwin.txt
</code>
=== GLUI ===
Miriah's code uses [http://sourceforge.net/projects/glui/ GLUI] to render visualization images for the particle system.
First try a precompiled option for your system.
==== OS X ====
Download the [http://lukecyca.com/2007/02/14/glui-23-framework-for-mac-os-x/ framework].
=== Cg ===
Miriah's code uses [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] to render visualization images for the particle system.
First try synaptic or Yast or whatever precompiled options your system has.
Ubuntu has this ready to go.
=== TetGen ===
SCIRun needs to be built with [http://tetgen.berlios.de/ TetGen] library support enabled.
The standalone TetGen application is also needed.
Build TetGen from source following these [http://tetgen.berlios.de/compile.html instructions].
== Build Vispack ==
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
=== Cmake ===
Use Cmake 2.6.
<pre>
mkdir vpbin<br>
cd vpbin<br>
ccmake -i ../vispack<br>
</pre>
CMake variables:
<pre>
CMAKE_BUILD_TYPE = Release
TEEM_DIR = <path to TEEM installation>
</pre>
If necessary, create symbolic link from liblapack1.so to liblapack.so.
Make in vpbin.
== Build miriah ==
We are building Miriah's code from [https://code.sci.utah.edu/svn/people/miriah Subversion].
=== Preprocessing only (no particle system) ===
* skip to cmake step.
* make -k (ignore compilation errors)
=== Particle system enabled ===
* cmake step
* make
=== Cmake ===
<pre>
ccmake -i .
</pre>
Set CMake variables:
<pre>
CMAKE_CXX_FLAGS = -I<path to GLUT include dir> -I<path to GLUI include dir> -I<path to glew include dir>
CMAKE_EXE_LINKER_FLAGS = -L/usr/X11/lib, add GL, GLUT, GLUI and Cg libraries
CMAKE_BUILD_TYPE = Release
GLEW_INCLUDE = <path to your glew include dir>/glew/include
GLEW_LIBRARY = <full path to your glew library>
GLUT_INCLUDE:...
GLUT_LIBRARY:...
OPENGL_INCLUDE_DIR:
OPENGL_gl_LIBRARY:
OPENGL_glu_LIBRARY:
TEEM_DIR needs to point to your TEEM install path/lib/(teem library)
VISPACK_DIR: <path to your checkout> /vispack (vispack build dir)
VISPACK_LIBS: <path to your binary dir> /vpbin/lib (path to vispack lib dir)
</pre>
==== OS X ====
For OS X 10.5, the CMAKE_EXE_LINKER_FLAGS should look like:
<pre>
CMAKE_EXE_LINKER_FLAGS: -dylib_file /System/Library/Frameworks/OpenGL.framework/Version/A/Libraries/libGL.so: \
/System/Library/frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib \
-L/usr/X11/lib -framework GLUT -framework Cg -framework GLUI
</pre>
== Build SCIRun ==
Checkout SCIRun sources from [https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun Subversion].
We are currently using SCIRun revision 41519 for this project; other revisions may not work.
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface.
Use the normal SCIRun build instructions, with the following exceptions.
Download the SCIRun [http://software.sci.utah.edu/releases/patches/patch_SCIRun_41519.txt patch], save the SCIRun/src directory and apply patch.
<code>
patch -p0 < patch_SCIRun_41519
</code>
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
* set TETGEN_DIR
= Using the Code =
== Scripts ==
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
== example_bm3d_settings.py ==
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from.
It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
== gen_particle_sys_inputs.py ==
This is the main script for preprocessing from a segmentation.
Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script.
It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
== convert_crossings.py ==
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
== create_junction_dirs.py ==
Helper script to generate dir for targeting the particle system.
I pass a 4 to this typically since I run up to 4 particle system jobs at a time.
These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name.
Separate dirs keeps the different jobs from clobbering each others output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
== gen_seeds.py ==
Make a new directory in your working dir, named seeds.
Then run this script to get the set of possible junctions, and the seed points for them.
The directory will contain a seed file for every junction that possibly exists.
Possible quad junctions start with a q, t for triples and d for double junctions.
== pts2tets.py ==
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
== Preprocessing Segmentation ==
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
== Running the Particle System ==
== Building the TetVol ==
== Mapping Indices back to 1 index per material ==
5229
5228
2008-10-29T00:05:07Z
Ayla
57
/* Thirdparty tools */
wikitext
text/x-wiki
= Building the Code =
At this point just enough support was added to the vispack and miriah repositories to make them usable.
These are not meant to be easy to use by end users, that is the target of the Power App that we eventually will end up with.
For now this is the usable pipeline for creating meshes with an engineer running the code.
We will migrate this into a researcher usable PowerApp.
== Thirdparty tools ==
''There may be additional software required. We are working on identifying and documenting dependencies.''
=== Teem ===
Download Teem 1.9.0 from [http://sourceforge.net/projects/teem SourceForge].
* You must configure TEEM using cmake.
* You must set an install path.
* make;
* make install;
=== Lapack ===
Vispack depends on [http://www.netlib.org/lapack Lapack].
==== OS X ====
The vecLib framework includes Lapack (linker option -framework veclib).
=== GLEW ===
Miriah's code uses [http://glew.sourceforge.net available GLEW] to render visualization images for the particle system.
Binaries are for most platforms: follow the installation [http://glew.sourceforge.net/install.html instructions].
Build from source on OS X 10.5 (Leopard)
==== OS X 10.5 ====
Download source tarball and unpack.
Download glew.h [http://software.sci.utah.edu/releases/patches/patch_glew_h.txt patch], save in glew directory and apply patch.
<code>
patch -p0 < patch_glew_h.txt
</code>
Download Makefile.darwin [http://software.sci.utah.edu/releases/patches/patch_Makefile_darwin.txt patch], save in glew directory and apply patch.
<code>
patch -p0 < patch_Makefile_darwin.txt
</code>
=== GLUI ===
Miriah's code uses [http://sourceforge.net/projects/glui/ GLUI] to render visualization images for the particle system.
First try a precompiled option for your system.
==== OS X ====
Download the [http://lukecyca.com/2007/02/14/glui-23-framework-for-mac-os-x/ framework].
=== Cg ===
Miriah's code uses [http://developer.nvidia.com/object/cg_toolkit.html Nvidia's Cg shader lib] to render visualization images for the particle system.
First try synaptic or Yast or whatever precompiled options your system has.
Ubuntu has this ready to go.
=== TetGen ===
SCIRun needs to be built with [http://tetgen.berlios.de/ TetGen] library support enabled.
The standalone TetGen application is also needed.
Build TetGen from source following these [http://tetgen.berlios.de/compile.html instructions].
== Build Vispack ==
We are building Vispack from [https://code.sci.utah.edu/svn/vispack Subversion].
Vispack build [http://www.cs.utah.edu/~whitaker/vispack instructions].
=== Cmake ===
Use Cmake 2.6.
<pre>
mkdir vpbin<br>
cd vpbin<br>
ccmake -i ../vispack<br>
</pre>
CMake variables:
<pre>
CMAKE_BUILD_TYPE = Release
TEEM_DIR = <path to TEEM installation>
</pre>
If necessary, create symbolic link from liblapack1.so to liblapack.so.
Make in vpbin.
== Build miriah ==
We are building Miriah's code from [https://code.sci.utah.edu/svn/people/miriah Subversion].
=== Preprocessing only (no particle system) ===
* skip to cmake step.
* make -k (ignore compilation errors)
=== Particle system enabled ===
* cmake step
* make
=== Cmake ===
<pre>
ccmake -i .
</pre>
Set CMake variables:
<pre>
CMAKE_CXX_FLAGS = -I<path to GLUT include dir> -I<path to GLUI include dir> -I<path to glew include dir>
CMAKE_EXE_LINKER_FLAGS = -L/usr/X11/lib, add GL, GLUT, GLUI and Cg libraries
CMAKE_BUILD_TYPE = Release
GLEW_INCLUDE = <path to your glew include dir>/glew/include
GLEW_LIBRARY = <full path to your glew library>
GLUT_INCLUDE:...
GLUT_LIBRARY:...
OPENGL_INCLUDE_DIR:
OPENGL_gl_LIBRARY:
OPENGL_glu_LIBRARY:
TEEM_DIR needs to point to your TEEM install path/lib/(teem library)
VISPACK_DIR: <path to your checkout> /vispack (vispack build dir)
VISPACK_LIBS: <path to your binary dir> /vpbin/lib (path to vispack lib dir)
</pre>
==== OS X ====
For OS X 10.5, the CMAKE_EXE_LINKER_FLAGS should look like:
<pre>
CMAKE_EXE_LINKER_FLAGS: -dylib_file /System/Library/Frameworks/OpenGL.framework/Version/A/Libraries/libGL.so: \
/System/Library/frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib \
-L/usr/X11/lib -framework GLUT -framework Cg -framework GLUI
</pre>
== Build SCIRun ==
Checkout SCIRun sources from [https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun Subversion].
We are currently using SCIRun revision 41519 for this project; other revisions may not work.
The preprocessing scripts use algorithms in SCIRun via the SCIRun Python interface.
Use the normal SCIRun build instructions, with the following exceptions.
Download the SCIRun [http://software.sci.utah.edu/releases/patches/patch_SCIRun_41519.txt patch], save the SCIRun/src directory and apply patch.
<code>
patch -p0 < patch_SCIRun_41519
</code>
* turn on BUILD_SR_PY during configuration.
* set CMAKE_BUILD_TYPE to Release (unless you are debugging)
* set TETGEN_DIR
= Using the Code =
== Scripts ==
Located in : /SCIRun/src/StandAlone/Apps/FEMesher/scripts
== example_bm3d_settings.py ==
Most if not all of the following scripts expect a bm3d_settings.py file to exist in the directory you run from.
It contains per model settings, like label names, scaling factors, etc..
''the indices that map to material you wish to map. a -1 can be used to indicate combining every index not in the list.''
'''mats = (0, 4, 5, 7, 8)'''
''the material names that map to the indices above. These become filenames later.''
'''mat_names = ('air', 'grey', 'fluid', 'lesion', 'white')'''
''the tighten radius.''
'''mat_radii = 0.8'''
''the outermost material (usually air) needs to set the values of padded pixels to be 1.0 not 0.0 like all the other materials.''
'''inv_pad_idx = 0'''
''set scale factors such that during the resample step we end up with isotropic data''
'''resamp_scale = (1.0, 1.0, 1.0)'''
The rest of the settings file is just setting paths to your various code installations appropriately.
== gen_particle_sys_inputs.py ==
This is the main script for preprocessing from a segmentation.
Once you have a segmentation, and a bm3d_settings.py generated in a working directory, you can run this script.
It will use as many cpu's or threads as specified in the settings file.
cd <''your working dir (contains bm3d_settings.py)''>;
python gen_particle_sys_inputs.py <''path to your segmentation''>.nrrd;
== convert_crossings.py ==
This simply converts the *_crossing.vol to .nrrds. This must be done before running gen_seeds.py
== create_junction_dirs.py ==
Helper script to generate dir for targeting the particle system.
I pass a 4 to this typically since I run up to 4 particle system jobs at a time.
These need to start in different dirs, because the code currently writes out particle points in the dir with a standard name.
Separate dirs keeps the different jobs from clobbering each others output.
This script also links the correct .vol file to a name expected by the particle system, as well as writing 2 of the 3 files you need in the dir to run the particle system.
== gen_seeds.py ==
Make a new directory in your working dir, named seeds.
Then run this script to get the set of possible junctions, and the seed points for them.
The directory will contain a seed file for every junction that possibly exists.
Possible quad junctions start with a q, t for triples and d for double junctions.
== pts2tets.py ==
After finishing with the particle system for all the junctions, feed directory with the output .pts files to this script to generate all the individual surfaces as well as the combined surface that gets fed to TetGen.
== Preprocessing Segmentation ==
This step can be done on bigger machines like hex with and apply the additional cpu's to speed up the preprocessing.
== Running the Particle System ==
== Building the TetVol ==
== Mapping Indices back to 1 index per material ==
Main Page
0
1
5230
5190
2008-11-18T21:19:00Z
Erikj
2
/* Workshops */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4.0===
;[[CIBC:SCIRun4|SCIRun 4.0 Information]]
: Overview of where we are with SCIRun 4.0
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
[[CIBC:Project:ImageVis3D | ImageVis3D Design and Development]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008]
[[Exec:Guest_List Guest List]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5231
5230
2008-11-18T21:19:13Z
Erikj
2
/* Workshops */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4.0===
;[[CIBC:SCIRun4|SCIRun 4.0 Information]]
: Overview of where we are with SCIRun 4.0
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
[[CIBC:Project:ImageVis3D | ImageVis3D Design and Development]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008]
[[Exec:Guest_List Guest List]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5233
5231
2008-11-18T21:21:04Z
Erikj
2
/* 2008 Workshops */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4.0===
;[[CIBC:SCIRun4|SCIRun 4.0 Information]]
: Overview of where we are with SCIRun 4.0
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
[[CIBC:Project:ImageVis3D | ImageVis3D Design and Development]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008]
[[Exec:Guest_List | Guest List]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5234
5233
2008-11-18T21:21:36Z
Erikj
2
/* 2008 Workshops */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4.0===
;[[CIBC:SCIRun4|SCIRun 4.0 Information]]
: Overview of where we are with SCIRun 4.0
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
[[CIBC:Project:ImageVis3D | ImageVis3D Design and Development]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008]
[[Exec:Reg_Guests | Registered Guests]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5236
5234
2008-11-18T21:25:46Z
Erikj
2
/* Workshops */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4.0===
;[[CIBC:SCIRun4|SCIRun 4.0 Information]]
: Overview of where we are with SCIRun 4.0
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
[[CIBC:Project:ImageVis3D | ImageVis3D Design and Development]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5237
5236
2008-11-18T21:25:58Z
Erikj
2
/* Workshops */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4.0===
;[[CIBC:SCIRun4|SCIRun 4.0 Information]]
: Overview of where we are with SCIRun 4.0
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
[[CIBC:Project:ImageVis3D | ImageVis3D Design and Development]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5242
5237
2008-12-26T17:27:29Z
Jens
63
/* Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4.0===
;[[CIBC:SCIRun4|SCIRun 4.0 Information]]
: Overview of where we are with SCIRun 4.0
===ImageVis3D===
[[CIBC:Project:ImageVis3D | ImageVis3D Design and Development]]
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5245
5242
2008-12-26T17:29:10Z
Jens
63
/* Projects */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4.0===
;[[CIBC:SCIRun4|SCIRun 4.0 Information]]
: Overview of where we are with SCIRun 4.0
===ImageVis3D===
[[CIBC:Project:ImageVis3D | ImageVis3D]]
: Overview of where we are with ImageVis 1.0
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5246
5245
2008-12-26T17:29:37Z
Jens
63
/* ImageVis3D */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4.0===
;[[CIBC:SCIRun4|SCIRun 4.0 Information]]
: Overview of where we are with SCIRun 4.0
===ImageVis3D===
[[CIBC:Project:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5247
5246
2008-12-26T17:30:00Z
Jens
63
/* ImageVis3D */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4.0===
;[[CIBC:SCIRun4|SCIRun 4.0 Information]]
: Overview of where we are with SCIRun 4.0
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
Exec:Guest List Guest List
100
2609
5232
2008-11-18T21:19:48Z
Erikj
2
New page: == Registered Guests ==
wikitext
text/x-wiki
== Registered Guests ==
CIBC:Exec:Workshop08
0
2611
5238
2008-11-18T21:26:14Z
Erikj
2
New page: == Registered Guests ==
wikitext
text/x-wiki
== Registered Guests ==
5239
5238
2008-11-18T21:35:16Z
Deb
56
/* Registered Guests */
wikitext
text/x-wiki
== Registered Guests ==
Charles Keller
kellerc2@uthscsa.edu
Talk:Main Page
1
996
5240
3134
2008-12-18T18:17:50Z
Erikj
2
Removing all content from page
wikitext
text/x-wiki
CIBC:ImageVis3D:Plan
0
2586
5243
5155
2008-12-26T17:28:25Z
Jens
63
[[CIBC:Project:ImageVis3D]] moved to [[CIBC:ImageVis3D]]
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
===Functional blocks===
The design plan for this application consists of the following blocks, each assigned to one ore more members of the team:
# I/O: Jens
#* based on third party libraries but likely '''not''' ITK
#* internal format will be NRRD and we may write NRRD versions of the file to disk in the case of large data sets
# GUI: Design: all, Implementation: David
#* GUI must be separated from process control and not actually necessary for the program to run and execute
# Image Processing: Allen
#* very basic functionality with some simple filters, cropping, subsampling, etc.
# Visualization interface: Jens and Allen
#* interface to the multidimensional transfer function
# Rendering
#* use SLIVR
# Memory management: Jens
#* support multiple data types
#* seek high efficiency for large data sets
# Master process controller: Allen
#* coordinator and overall manager of the application
As much as possible, each block will be separated from all others with well defined interfaces. The master process controller has the task of integrating all the pieces and really defines the complete application.
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save images at higher than screen resolution
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
** histogram
** support for gain field correction
<!-- -->
* Visualization
** multi-field vis; with and without locking of controls
** time dependent data
** comparative vis (multiple sets of data)
** adding annotations, landmarks, attach notes
** support for large scale data,
** mask support
*** clipping planes
*** ellipsoid and other polylines
*** wedge cuts into the data (not possible with simple clipping plans)
*** import masks to apply over volume rendering
*** masking and 3D painting (Jens is about to publish this)
*** masking based on isosurface
** stereo projection
** level of detail support
** ridge enhancement and occluding contours
** silhouette lines
** control of surface highlights
** other non-photorealistic rendering techniques
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface (painting in image space that maps to histogram) is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
** using two fields together for 2D transfer function
<!-- -->
* Other ideas
** create resets that combine a set of useful settings, not just X-fer function
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-06 | March 6, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-10 | March 10, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-26 | March 26, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-03 | April 3, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-15 | April 15, 2008]]
== Implementation Plans==
== Results ==
5248
5243
2008-12-26T17:30:46Z
Jens
63
[[CIBC:ImageVis3D]] moved to [[CIBC:ImageVis3D:Plan]]
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
===Functional blocks===
The design plan for this application consists of the following blocks, each assigned to one ore more members of the team:
# I/O: Jens
#* based on third party libraries but likely '''not''' ITK
#* internal format will be NRRD and we may write NRRD versions of the file to disk in the case of large data sets
# GUI: Design: all, Implementation: David
#* GUI must be separated from process control and not actually necessary for the program to run and execute
# Image Processing: Allen
#* very basic functionality with some simple filters, cropping, subsampling, etc.
# Visualization interface: Jens and Allen
#* interface to the multidimensional transfer function
# Rendering
#* use SLIVR
# Memory management: Jens
#* support multiple data types
#* seek high efficiency for large data sets
# Master process controller: Allen
#* coordinator and overall manager of the application
As much as possible, each block will be separated from all others with well defined interfaces. The master process controller has the task of integrating all the pieces and really defines the complete application.
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save images at higher than screen resolution
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
** histogram
** support for gain field correction
<!-- -->
* Visualization
** multi-field vis; with and without locking of controls
** time dependent data
** comparative vis (multiple sets of data)
** adding annotations, landmarks, attach notes
** support for large scale data,
** mask support
*** clipping planes
*** ellipsoid and other polylines
*** wedge cuts into the data (not possible with simple clipping plans)
*** import masks to apply over volume rendering
*** masking and 3D painting (Jens is about to publish this)
*** masking based on isosurface
** stereo projection
** level of detail support
** ridge enhancement and occluding contours
** silhouette lines
** control of surface highlights
** other non-photorealistic rendering techniques
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface (painting in image space that maps to histogram) is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
** using two fields together for 2D transfer function
<!-- -->
* Other ideas
** create resets that combine a set of useful settings, not just X-fer function
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-06 | March 6, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-10 | March 10, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-26 | March 26, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-03 | April 3, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-15 | April 15, 2008]]
== Implementation Plans==
== Results ==
CIBC:Project:ImageVis3D
0
2613
5244
2008-12-26T17:28:25Z
Jens
63
[[CIBC:Project:ImageVis3D]] moved to [[CIBC:ImageVis3D]]
wikitext
text/x-wiki
#REDIRECT [[CIBC:ImageVis3D]]
CIBC:ImageVis3D
0
2614
5249
2008-12-26T17:30:46Z
Jens
63
[[CIBC:ImageVis3D]] moved to [[CIBC:ImageVis3D:Plan]]
wikitext
text/x-wiki
#REDIRECT [[CIBC:ImageVis3D:Plan]]
5250
5249
2008-12-26T17:31:05Z
Jens
63
Redirecting to [[CIBC:ImageVis3D:Plan]]
wikitext
text/x-wiki
#REDIRECT [[CIBC:ImageVis3D:Plan]]
test
5251
5250
2008-12-26T17:31:19Z
Jens
63
wikitext
text/x-wiki
'''test'''
#REDIRECT [[CIBC:ImageVis3D:Plan]]
5252
5251
2008-12-26T17:34:06Z
Jens
63
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]}
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
5253
5252
2008-12-26T17:34:42Z
Jens
63
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
5254
5253
2008-12-26T19:19:14Z
Jens
63
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which can be downloaded for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn https://code.sci.utah.edu/svn/ImageVis3D</nowiki>
qmake
make
If you do not have a static QT build yet you can still download ImageVis3D from the SVN repository and look into the scripts subdirectory for scripts to compile QT with the required options. If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you QT installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* <span style="font-weight:bold; color:red">0.03 beta</span> (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter, JPEG DICOM suuport
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, bugfixes, MIP, high quality MIP rotations
* 0.04 beta (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
* 0.05 beta (code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5255
5254
2008-12-26T19:20:00Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which can be downloaded for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn https://code.sci.utah.edu/svn/ImageVis3D</nowiki>
qmake
make
If you do not have a static QT build yet you can still download ImageVis3D from the SVN repository and look into the scripts subdirectory for scripts to compile QT with the required options. If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you QT installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* <span style="font-weight:bold; color:red">0.03 beta</span> (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter, JPEG DICOM suuport
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* 0.04 beta (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
* 0.05 beta (code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5256
5255
2008-12-26T19:20:24Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which can be downloaded for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn https://code.sci.utah.edu/svn/ImageVis3D</nowiki>
qmake
make
If you do not have a static QT build yet you can still download ImageVis3D from the SVN repository and look into the scripts subdirectory for scripts to compile QT with the required options. If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you QT installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* <span style="font-weight:bold; color:red">0.03 beta</span> (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter, JPEG DICOM support
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* 0.04 beta (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
* 0.05 beta (code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5257
5256
2008-12-26T19:21:32Z
Jens
63
/* Compile it yourself */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which can be downloaded for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn https://code.sci.utah.edu/svn/ImageVis3D</nowiki>
qmake
make
If you do not have a static QT build yet you can still download ImageVis3D from the SVN repository and look into the scripts subdirectory for scripts to compile QT with the required options. If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you QT installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* <span style="font-weight:bold; color:red">0.03 beta</span> (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter, JPEG DICOM support
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* 0.04 beta (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
* 0.05 beta (code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5258
5257
2008-12-26T19:22:49Z
Jens
63
/* Download the binary */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn https://code.sci.utah.edu/svn/ImageVis3D</nowiki>
qmake
make
If you do not have a static QT build yet you can still download ImageVis3D from the SVN repository and look into the scripts subdirectory for scripts to compile QT with the required options. If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you QT installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* <span style="font-weight:bold; color:red">0.03 beta</span> (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter, JPEG DICOM support
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* 0.04 beta (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
* 0.05 beta (code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5259
5258
2008-12-26T19:23:39Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn https://code.sci.utah.edu/svn/ImageVis3D</nowiki>
qmake
make
If you do not have a static QT build yet you can still download ImageVis3D from the SVN repository and look into the scripts subdirectory for scripts to compile QT with the required options. If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you QT installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
----
* <span style="font-weight:bold; color:red">0.03 beta</span> (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter, JPEG DICOM support
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* 0.04 beta (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
* 0.05 beta (code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5260
5259
2008-12-26T19:30:57Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn https://code.sci.utah.edu/svn/ImageVis3D</nowiki>
qmake
make
If you do not have a static QT build yet you can still download ImageVis3D from the SVN repository and look into the scripts subdirectory for scripts to compile QT with the required options. If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you QT installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
----
* <span style="font-weight:bold; color:red">0.03 beta CODENAME: Santa</span> (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter, JPEG DICOM support
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* 0.04 beta CODENAME: Firework (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
* 0.05 beta (code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5261
5260
2008-12-26T19:31:25Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn https://code.sci.utah.edu/svn/ImageVis3D</nowiki>
qmake
make
If you do not have a static QT build yet you can still download ImageVis3D from the SVN repository and look into the scripts subdirectory for scripts to compile QT with the required options. If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you QT installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
----
* <span style="font-weight:bold; color:red">0.03 beta CODENAME: Santa</span> (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter, JPEG DICOM support
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* 0.04 beta CODENAME: Firework (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5262
5261
2008-12-26T19:32:30Z
Jens
63
/* Development Information */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn https://code.sci.utah.edu/svn/ImageVis3D</nowiki>
qmake
make
If you do not have a static QT build yet you can still download ImageVis3D from the SVN repository and look into the scripts subdirectory for scripts to compile QT with the required options. If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you QT installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
----
* <span style="font-weight:bold; color:red">0.03 beta CODENAME: Santa</span> (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* 0.04 beta CODENAME: Firework (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
CIBC:ImageVis3D
0
2614
5263
5262
2008-12-26T19:34:23Z
Jens
63
/* Development Information */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn https://code.sci.utah.edu/svn/ImageVis3D</nowiki>
qmake
make
If you do not have a static QT build yet you can still download ImageVis3D from the SVN repository and look into the scripts subdirectory for scripts to compile QT with the required options. If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you QT installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5264
5263
2008-12-26T20:01:32Z
Jens
63
/* Compile it yourself */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static QT build yet you can still download ImageVis3D from the SVN repository and look into the scripts subdirectory for scripts to compile QT with the required options. If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you QT installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5265
5264
2008-12-27T21:52:41Z
Tfogal
62
/* Compile it yourself */ link to scripts instead of mentioning them.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5266
5265
2008-12-29T22:14:53Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5267
5266
2008-12-29T23:38:31Z
Tfogal
62
/* Compile it yourself */ link to Qt/Linux build script.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5268
5267
2008-12-30T00:37:10Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement <span style="font-weight:bold; color:green">seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5269
5268
2008-12-30T00:37:33Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** <span style="font-weight:bold; color:green">implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5270
5269
2008-12-30T23:59:43Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** <span style="font-weight:bold; color:green">implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** <span style="font-weight:bold; color:green">code cleanup</span>, high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5271
5270
2008-12-31T00:03:46Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** <span style="font-weight:bold; color:green">implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** <span style="font-weight:bold; color:green">code cleanup</span>, high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5272
5271
2008-12-31T00:05:55Z
Jens
63
/* Download the binary */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this tool [http://software.sci.utah.edu/devbuilds/imagevis3d/ here].
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** <span style="font-weight:bold; color:green">implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** <span style="font-weight:bold; color:green">code cleanup</span>, high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5273
5272
2008-12-31T00:06:11Z
Jens
63
/* Download the binary */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this tool [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** <span style="font-weight:bold; color:green">implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** <span style="font-weight:bold; color:green">code cleanup</span>, high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5274
5273
2008-12-31T17:16:06Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Using ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this tool [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** <span style="font-weight:bold; color:green">implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** <span style="font-weight:bold; color:green">code cleanup</span>, high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5275
5274
2008-12-31T17:18:39Z
Jens
63
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this tool [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon with release 0.06
=== Video Tutorials ===
coming soon with release 0.05 & 0.06
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** <span style="font-weight:bold; color:green">implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** <span style="font-weight:bold; color:green">code cleanup</span>, high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5276
5275
2008-12-31T17:19:52Z
Jens
63
/* Compile it yourself */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this tool [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon with release 0.06
=== Video Tutorials ===
coming soon with release 0.05 & 0.06
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** <span style="font-weight:bold; color:green">implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** <span style="font-weight:bold; color:green">code cleanup</span>, high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5277
5276
2008-12-31T17:20:44Z
Jens
63
/* Download the binary */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon with release 0.06
=== Video Tutorials ===
coming soon with release 0.05 & 0.06
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** <span style="font-weight:bold; color:green">implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** <span style="font-weight:bold; color:green">code cleanup</span>, high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5278
5277
2008-12-31T18:19:27Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon with release 0.06
=== Video Tutorials ===
coming soon with release 0.05 & 0.06
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and <span style="font-weight:bold; color:green">completion of UI elements</span>
** IO
*** <span style="font-weight:bold; color:green">implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** <span style="font-weight:bold; color:green">code cleanup</span>, high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5279
5278
2008-12-31T18:39:19Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon with release 0.06
=== Video Tutorials ===
coming soon with release 0.05 & 0.06
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and <span style="font-weight:bold; color:green">completion of UI elements</span>
** IO
*** <span style="font-weight:bold; color:green">implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** <span style="font-weight:bold; color:green">code cleanup</span>, high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, slice capturing, clip planes
** Other
*** record video tutorials
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5280
5279
2008-12-31T19:22:21Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon with release 0.06
=== Video Tutorials ===
coming soon with release 0.05 & 0.06
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* <span style="font-weight:bold; color:red">0.04 beta CODENAME: Fireworks</span> (MIP and code hardening release) ''January 2009''
** UI
*** code frozen, no new features, only bugfixes and <span style="font-weight:bold; color:green">completion of UI elements</span>
** IO
*** <span style="font-weight:bold; color:green">implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt</span>, otherwise code frozen, no new features
** Tuvok
*** <span style="font-weight:bold; color:green">code cleanup</span>, high quality MIP rotations
----
* 0.05 beta (scripting and code hardening release) ''January 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, slice capturing, clip planes
** Other
*** record video tutorials
* 0.06 beta (1.0 feature complete release) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2008''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2008''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2008''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2008''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5281
5280
2009-01-01T20:30:10Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon with release 0.06
=== Video Tutorials ===
coming soon with release 0.05 & 0.06
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* 0.04 beta CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
----
* <span style="font-weight:bold; color:red">0.05 beta CODENAME: Fireworks</span> (scripting and code hardening release) ''January 2009''
** UI
*** <span style="font-weight:bold; color:green">bugfixes</span>
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, slice capturing, clip planes
** Other
*** record video tutorials
* 0.06 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5282
5281
2009-01-01T20:32:03Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon with release 0.06
=== Video Tutorials ===
coming soon with release 0.05 & 0.06
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
----
* 0.04 beta CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
----
* <span style="font-weight:bold; color:red">0.05 beta CODENAME: BIBLICAL MAGI</span> (scripting and tutorials) ''January 2009''
** UI
*** <span style="font-weight:bold; color:green">bugfixes</span>
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, slice capturing, clip planes
** Other
*** record video tutorials
* 0.06 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
5283
5282
2009-01-01T20:36:53Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon with release 0.06
=== Video Tutorials ===
coming soon with release 0.05 & 0.06
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* 0.04 beta CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
----
* <span style="font-weight:bold; color:red">0.05 beta CODENAME: Biblical Magi</span> (scripting and tutorials) ''January 2009''
** UI
*** <span style="font-weight:bold; color:green">bugfixes</span>
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, slice capturing
** Other
*** record video tutorials
----
* 0.06 beta (clip planes) ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5284
5283
2009-01-01T20:37:13Z
Jens
63
/* Video Tutorials */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon with release 0.06
=== Video Tutorials ===
coming soon with release 0.05 - 0.07
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* 0.04 beta CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
----
* <span style="font-weight:bold; color:red">0.05 beta CODENAME: Biblical Magi</span> (scripting and tutorials) ''January 2009''
** UI
*** <span style="font-weight:bold; color:green">bugfixes</span>
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, slice capturing
** Other
*** record video tutorials
----
* 0.06 beta (clip planes) ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5285
5284
2009-01-01T20:37:27Z
Jens
63
/* Manual */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
coming soon with release 0.05 - 0.07
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* 0.04 beta CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
----
* <span style="font-weight:bold; color:red">0.05 beta CODENAME: Biblical Magi</span> (scripting and tutorials) ''January 2009''
** UI
*** <span style="font-weight:bold; color:green">bugfixes</span>
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, slice capturing
** Other
*** record video tutorials
----
* 0.06 beta (clip planes) ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5286
5285
2009-01-01T20:37:44Z
Jens
63
/* Video Tutorials */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* 0.03 beta CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* 0.04 beta CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
----
* <span style="font-weight:bold; color:red">0.05 beta CODENAME: Biblical Magi</span> (scripting and tutorials) ''January 2009''
** UI
*** <span style="font-weight:bold; color:green">bugfixes</span>
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, slice capturing
** Other
*** record video tutorials
----
* 0.06 beta (clip planes) ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5287
5286
2009-01-01T20:38:44Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* '''0.03 beta''' CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* '''0.04 beta''' CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
----
* <span style="font-weight:bold; color:red">0.05 beta CODENAME: Biblical Magi</span> (scripting and tutorials) ''January 2009''
** UI
*** <span style="font-weight:bold; color:green">bugfixes</span>
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, slice capturing
** Other
*** record video tutorials
----
* 0.06 beta (clip planes) ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5288
5287
2009-01-01T20:40:12Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* '''0.03 beta''' CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* '''0.04 beta''' CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
----
* <span style="font-weight:bold; color:red">0.05 beta CODENAME: Biblical Magi</span> (scripting and tutorials) ''January 2009''
** UI
*** <span style="font-weight:bold; color:green">bugfixes</span>
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, slice capturing
** Other
*** record video tutorials
----
* 0.06 beta (clip planes) ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** integrate manual and videio turial links
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5289
5288
2009-01-01T20:47:10Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* '''0.03 beta''' CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* '''0.04 beta''' CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
----
* <span style="font-weight:bold; color:red">0.05 beta CODENAME: Biblical Magi</span> (scripting and tutorials) ''January 2009''
** UI
*** <span style="font-weight:bold; color:green">bugfixes</span>
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, slice capturing
** Other
*** record video tutorials
----
* 0.06 beta (clip planes) ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5290
5289
2009-01-03T07:16:17Z
Jens
63
/* Download the binary */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d&ver=0.04b here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* '''0.03 beta''' CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* '''0.04 beta''' CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
----
* <span style="font-weight:bold; color:red">0.05 beta CODENAME: Biblical Magi</span> (scripting and tutorials) ''January 2009''
** UI
*** <span style="font-weight:bold; color:green">bugfixes</span>
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, slice capturing
** Other
*** record video tutorials
----
* 0.06 beta (clip planes) ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes
** Other
*** record video tutorials
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5292
5290
2009-01-05T23:59:07Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d&ver=0.04b here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* '''0.03 beta''' CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* '''0.04 beta''' CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
----
* <span style="font-weight:bold; color:red">0.05 beta CODENAME: Biblical Magi</span> (scripting and tutorials) ''January 2009''
** UI
*** <span style="font-weight:bold; color:green">bugfixes</span>
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing
** Other
*** record video tutorials
----
* 0.06 beta (clip planes) ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5293
5292
2009-01-06T00:00:01Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d&ver=0.04b here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* '''0.03 beta''' CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* '''0.04 beta''' CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
----
* <span style="font-weight:bold; color:red">0.05 beta CODENAME: Biblical Magi</span> (scripting and tutorials) ''January 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, <span style="font-weight:bold; color:green">stereo MIP rotations, perspective MIP rotations</span>
** Other
*** record video tutorials
----
* 0.06 beta (clip planes) ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5294
5293
2009-01-06T21:50:22Z
Jens
63
/* Roadmap */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d&ver=0.04b here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* '''0.03 beta''' CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* '''0.04 beta''' CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
* 0.05 beta CODENAME: Biblical Magi (scripting and tutorials) ''January 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, stereo MIP rotations, perspective MIP rotations
** Other
*** record video tutorials
----
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
----
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5295
5294
2009-01-07T00:13:21Z
Tfogal
62
/* Download the binary */ don't hardcode the version in the link.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* '''0.03 beta''' CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* '''0.04 beta''' CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
* 0.05 beta CODENAME: Biblical Magi (scripting and tutorials) ''January 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, stereo MIP rotations, perspective MIP rotations
** Other
*** record video tutorials
----
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
----
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5298
5295
2009-01-07T20:52:18Z
Jens
63
/* Video Tutorials */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* '''0.03 beta''' CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* '''0.04 beta''' CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
* 0.05 beta CODENAME: Biblical Magi (scripting and tutorials) ''January 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, stereo MIP rotations, perspective MIP rotations
** Other
*** record video tutorials
----
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
----
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5305
5298
2009-01-08T02:21:33Z
Tfogal
62
link to the mailing list info site
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''iv3d-users'' mailing list, or join in the development on ''iv3d-developer''. More information can be found at,
http://software.sci.utah.edu/mailinglists.html
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* '''0.03 beta''' CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* '''0.04 beta''' CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
* 0.05 beta CODENAME: Biblical Magi (scripting and tutorials) ''January 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, stereo MIP rotations, perspective MIP rotations
** Other
*** record video tutorials
----
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
----
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5306
5305
2009-01-08T02:22:02Z
Tfogal
62
/* Join the Community */ oops, typo.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''iv3d-users'' mailing list, or join in the development on ''iv3d-develop''. More information can be found at,
http://software.sci.utah.edu/mailinglists.html
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the '''past''', <span style="font-weight:bold; color:red">present</span>, and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
* '''0.00''' (mockup stage) ''April 2008''
** Design:
*** basics, interfaces, UI
** UI:
*** complete UI mockup
** IO
*** UVF implementation, simple raw converter
* '''0.01 alpha''' (first version with rendering capabilities) ''September 2008''
** Design
*** completed
** UI
*** all UI elements are now dock widgets
** IO
*** UVF improvements, QVIS DAT converter
** Renderer
*** in core, OpenGL slice based volume renderer (SBVR)
* '''0.02 beta''' (CIBC workshop beta release) ''October 2008''
** UI
*** minor UI refinements
** IO
*** UVF improvements, NRRD converter (only detached headers)
** Renderer
*** out of core, OpenGL SBVR & GPU Raycaster
* '''0.03 beta''' CODENAME: Santa (complete seperation of volume renderer Tuvok and the main app ImageVis3D) ''December 2008''
** UI
*** minor UI refinements, additional stereo UI
** IO
*** UVF improvements, full NRRD converter, full VFF converter, interactive converter
** Renderer (Tuvok)
*** anaglyph stereo rendering capabilities, MIP, bugfixes
* '''0.04 beta''' CODENAME: Fireworks (MIP and code hardening release) ''December 2008''
** UI
*** code frozen, no new features, only bugfixes and completion of UI elements
** IO
*** implement seperate command line conversion tool, JPEG DICOM support for JPEGs supported by Qt, otherwise code frozen, no new features
** Tuvok
*** code cleanup, high quality MIP rotations
* 0.05 beta CODENAME: Biblical Magi (scripting and tutorials) ''January 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** inital ImageVis3D control via script
** Tuvok
*** field testing, stereo MIP rotations, perspective MIP rotations
** Other
*** record video tutorials
----
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
----
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5308
5306
2009-01-08T02:30:18Z
Tfogal
62
/* Roadmap */ removed changelogs, linked to the old pages.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''iv3d-users'' mailing list, or join in the development on ''iv3d-develop''. More information can be found at,
http://software.sci.utah.edu/mailinglists.html
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5309
5308
2009-01-08T02:37:51Z
Tfogal
62
/* Join the Community */ use links better; I really hate the `goto this page' kind of sites.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5310
5309
2009-01-08T02:39:06Z
Tfogal
62
/* Past Release Archive */ commas
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
and to build the command line tool run
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
cd CmdLineConverter
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5311
5310
2009-01-08T17:20:11Z
Tfogal
62
/* Compile it yourself */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program we also compiled a comand line application to ImageVis3D's IO subsystems that allows you to convert your data into ImageVis3D's internal UVF format via the command line. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5312
5311
2009-01-08T17:23:16Z
Tfogal
62
/* Download the binary */ wording
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
Main Page
0
1
5291
5247
2009-01-05T21:48:32Z
Jens
63
/* ImageVis3D */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4.0===
;[[CIBC:SCIRun4|SCIRun 4.0 Information]]
: Overview of where we are with SCIRun 4.0
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
CIBC:ImageVis3D ChangeLog0.05b
0
2615
5296
2009-01-07T00:19:25Z
Tfogal
62
fairly generic ChangeLog page.
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.05 beta!
Features in this release include:
* Stereo MIP rotations
* A scripting engine, for automating common rendering tasks.
* UI improvements.
ImageVis3D 0.05b supports Intel Macs 10.4 and up, Windows, and Linux. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
5297
5296
2009-01-07T00:21:10Z
Tfogal
62
just a minor note at the bottom
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.05 beta!
Features in this release include:
* Stereo MIP rotations
* A scripting engine, for automating common rendering tasks.
* UI improvements.
ImageVis3D 0.05b supports Intel Macs 10.4 and up, Windows, and Linux. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5307
5297
2009-01-08T02:28:21Z
Tfogal
62
adding features that got listed late...
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.05 beta!
Features in this release include:
* Stereo MIP rotations
* A scripting engine, for automating common rendering tasks.
* UI improvements.
* New MIP rotation modes:
** Stereo
** Perspective view
ImageVis3D 0.05b supports Intel Macs 10.4 and up, Windows, and Linux. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
CIBC:ImageVis3D ChangeLog0.04b
0
2616
5299
2009-01-08T02:03:47Z
Tfogal
62
moving 0.04 to this changelog
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.04 beta (a.k.a. `Fireworks')!
Features in this release include:
* High quality MIP rotations
* UI code is now frozen (bugfixes only)
* A command line (batch) conversion tool
* Support for JPEG-based DICOMs which use Qt-supported JPEG variations.
ImageVis3D 0.04b supports Intel Macs 10.4 and up, Windows, and Linux. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
CIBC:ImageVis3D ChangeLog0.03b
0
2617
5300
2009-01-08T02:07:12Z
Tfogal
62
moving 0.03b roadmap to this page
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.03 beta (a.k.a. `Santa')!
Features in this release include:
* Stereo rendering support
* Completed NRRD converter
* Completed VFF converter
* Improvements to ImageVis3D's `native' file format, UVF.
* Basic MIP support
* (Developer feature) Complete UI / volume renderer.
ImageVis3D 0.03b supports Intel Macs 10.4 and up, Windows, and Linux. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
CIBC:ImageVis3D ChangeLog0.02b
0
2618
5301
2009-01-08T02:09:55Z
Tfogal
62
moving roadmap to here
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.02 beta! This release coincides with the October CIBC workshop.
Features in this release include:
* Minor improvements to the UI
* Basic NRRD support (detached headers only)
* Improvements to ImageVis3D's `native' file format, `UVF'.
* Out of core Slice-based and raycasting renderers based on OpenGL.
ImageVis3D 0.02b supports Intel Macs 10.4 and up, Windows, and Linux. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
CIBC:ImageVis3D ChangeLog0.01a
0
2619
5302
2009-01-08T02:13:07Z
Tfogal
62
moving roadmap here
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.01 alpha!
Features in this release include:
* Overall design of ImageVis3D is complete
* UI elements are now dockable
* QVIS DAT file format reader
* A Slice based volume renderer using OpenGL (in core only)
ImageVis3D 0.01a supports Intel Macs 10.4, 10.5, and Windows. No binaries are currently available. Please download a newer version from:
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
or use the subversion repository at:
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
CIBC:ImageVis3D ChangeLog0.00
0
2620
5303
2009-01-08T02:16:36Z
Tfogal
62
move roadmap here
wikitext
text/x-wiki
* 0.00 (mockup stage) April 2008
o Design:
+ basics, interfaces, UI
o UI:
+ complete UI mockup
o IO
+ UVF implementation, simple raw converter
April, 2008
ImageVis3D 0.00 was a `mockup' release. No renderer was present, and the software was not considered usable. This page is purely for historical purposes.
Features in this release:
* Design basics complete, such as interfaces and UI.
* A mock (disconnected) UI is present
* UVF (native file format) implementation raw reader.
ImageVis3D 0.00 supports Windows. No binaries are available. Please download a later release from:
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
or access the subversion repository directly at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5304
5303
2009-01-08T02:16:47Z
Tfogal
62
forgot to delete some stuff
wikitext
text/x-wiki
April, 2008
ImageVis3D 0.00 was a `mockup' release. No renderer was present, and the software was not considered usable. This page is purely for historical purposes.
Features in this release:
* Design basics complete, such as interfaces and UI.
* A mock (disconnected) UI is present
* UVF (native file format) implementation raw reader.
ImageVis3D 0.00 supports Windows. No binaries are available. Please download a later release from:
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
or access the subversion repository directly at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
CIBC:ImageVis3D:Plan
0
2586
5313
5248
2009-01-08T18:19:38Z
Macleod
3
/* Meeting notes */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Design ==
=== Goals ===
* Provide a vehicle especially for visualization techniques developed in SCI to get into the hands of scientists.
* Start with the functionality of BioImage placed in a lighter weight and more specific frameworks to allow both easy extension and rapid deployment
** remove constraints of dataflow
** fix broken features, e.g., 2D Xfer function editor, painting in slices
** create more intuitive UI
===Design principles and ideas===
* Separation of UI and backend
** further separate backend into graphics and non-graphics components
** separate classes for created transfer functions and rendering based on the transfer function
<!-- -->
* Achieving re-use?
** make use of SLIVR
** read files via same codes as Seg3D
** data structures from SCIRun
<!-- -->
*File reading and I/O engine
** base on ITK but anticipate replacing or wrapping pieces of it
** try and pre-read data to allow user to control and select parameters
*** spacing in real coordinates
*** data type
*** organization of slices
** consider 4D (three in space, one in time) data from the start
*** are there formats for this?
** consider large data sets from the start
***must be part of the file reader
===Functional blocks===
The design plan for this application consists of the following blocks, each assigned to one ore more members of the team:
# I/O: Jens
#* based on third party libraries but likely '''not''' ITK
#* internal format will be NRRD and we may write NRRD versions of the file to disk in the case of large data sets
# GUI: Design: all, Implementation: David
#* GUI must be separated from process control and not actually necessary for the program to run and execute
# Image Processing: Allen
#* very basic functionality with some simple filters, cropping, subsampling, etc.
# Visualization interface: Jens and Allen
#* interface to the multidimensional transfer function
# Rendering
#* use SLIVR
# Memory management: Jens
#* support multiple data types
#* seek high efficiency for large data sets
# Master process controller: Allen
#* coordinator and overall manager of the application
As much as possible, each block will be separated from all others with well defined interfaces. The master process controller has the task of integrating all the pieces and really defines the complete application.
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
=== Feature list===
* IO
** broad import capablities
** handle large data files efficiently
** saving out volumes from cropped, filters, resampled volumes
** saving images and movies
** save images at higher than screen resolution
** save and load sessions
** ITK-Snap has nice interface for loading data; use this as example
** also allow subsampling of data as we read
<!-- -->
* Data manipulation
** filters: median, Gaussian
** resampling of volume data
** crop
** histogram
** support for gain field correction
<!-- -->
* Visualization
** multi-field vis; with and without locking of controls
** time dependent data
** comparative vis (multiple sets of data)
** adding annotations, landmarks, attach notes
** support for large scale data,
** mask support
*** clipping planes
*** ellipsoid and other polylines
*** wedge cuts into the data (not possible with simple clipping plans)
*** import masks to apply over volume rendering
*** masking and 3D painting (Jens is about to publish this)
*** masking based on isosurface
** stereo projection
** level of detail support
** ridge enhancement and occluding contours
** silhouette lines
** control of surface highlights
** other non-photorealistic rendering techniques
===User Interface ===
* Multidimensional transfer function
** improve design over current versions from Seg3D or BioImage
** different UI for different number of dimensions in the transfer function
** the paint interface (painting in image space that maps to histogram) is a good starting point
** keep UI well separated from rest of code
** include presets of transfer functions and allow users to create new presets
** using two fields together for 2D transfer function
<!-- -->
* Other ideas
** create resets that combine a set of useful settings, not just X-fer function
** allow locking of features, perhaps groupwise in scaling
** maintain state for each pane
** support multiple panes, each with different data (like ''map3d'')
** include stack of operations and allow vis at different point
** use layers (like Seg3D) as a metaphor
** include both a master list of controls as well as a way to alter groups or individual panes
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
== Meeting notes ==
[[CIBC:Project:ImageVis3D:Meetings:2008-02-07 | February 7, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-14 | February 14, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-21 | February 21, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-02-28 | February 28, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-06 | March 6, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-10 | March 10, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-03-26 | March 26, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-03 | April 3, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2008-04-15 | April 15, 2008]]
[[CIBC:Project:ImageVis3D:Meetings:2009-01-08 | January 8, 2009]]
== Implementation Plans==
== Results ==
CIBC:Project:ImageVis3D:Meetings:2009-01-08
0
2621
5314
2009-01-08T18:20:49Z
Macleod
3
New page: ==ImageVis3D Meeting== '''January 8, 2009''' [[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]] Present: Rob, Dave, Jens, Allen, Tom
wikitext
text/x-wiki
==ImageVis3D Meeting==
'''January 8, 2009'''
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
Present: Rob, Dave, Jens, Allen, Tom
5315
5314
2009-01-08T19:25:37Z
Macleod
3
-
wikitext
text/x-wiki
==ImageVis3D Meeting==
'''January 8, 2009'''
[[CIBC:Project:ImageVis3D | Link to main ImageVis3D Page]]
Present: Rob, Dave, Jens, Allen, Tom
1) New release is out
* full static build!
2) Jens did Demo of ImageVis3D to a couple teams yesterday
3) Need to set up clearer links to Bugzilla and bug reporting
4) Working now to extract renderer and make it part of other apps, Visit, SCIRun, VTK
5) Testing is also working, at least basic capabilities, more to follow
6) Todo features for February 1.0 release:
* clip planes
* directX renderer for Windows
* complete scripting
CIBC:ImageVis3D ChangeLog0.051b
0
2622
5316
2009-01-09T21:17:12Z
Tfogal
62
changelog for 0.051b.
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.051 beta!
This is a bugfix release, meant to address last minute issues that came up with 0.05b. Changes include:
* Quantization fix which prevented some data from loading.
* A couple minor fixes to the scripting interface.
ImageVis3D 0.051b supports Intel Macs 10.4 and up, Windows, and Linux. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
CIBC:ImageVis3D
0
2614
5317
5312
2009-01-09T21:27:50Z
Tfogal
62
/* Past Release Archive */ entry for .051b .. do we really need to keep these here?
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5318
5317
2009-01-09T21:45:44Z
Tfogal
62
where to give bug reports
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5320
5318
2009-01-14T18:31:53Z
Tfogal
62
/* Past Release Archive */ 52b.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5321
5320
2009-01-14T22:09:44Z
Jens
63
/* Current Development Focus */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Challenger (clip planes)</span> ''January 2009''
** UI
*** shortcuts
*** Update / Autoupdate feature
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5322
5321
2009-01-14T22:19:18Z
Jens
63
/* Current Development Focus */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** Update / Autoupdate feature
** IO
*** bugfixes
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** record video tutorials
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5323
5322
2009-01-16T06:44:19Z
Jens
63
/* Current Development Focus */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
coming soon (with release 0.07)
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">Update / Autoupdate feature</span>
** IO
*** <span style="font-weight:bold; color:green">bugfixes</span>
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5325
5323
2009-01-18T02:46:27Z
Tfogal
62
/* Manual */ manual
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">Update / Autoupdate feature</span>
** IO
*** <span style="font-weight:bold; color:green">bugfixes</span>
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5328
5325
2009-01-26T07:24:42Z
Jens
63
/* Download the binary */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it.
If on a Windows system you see an error message such as this
[[Image:Imagevis3d-no-redist-error.png]|thumb|Redist error]
you need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">Update / Autoupdate feature</span>
** IO
*** <span style="font-weight:bold; color:green">bugfixes</span>
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5329
5328
2009-01-26T07:25:41Z
Jens
63
/* Download the binary */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it.
If on a Windows system you see an error message such as this
[[Image:Imagevis3d-no-redist-error.png]|thumb|Redist error]
you need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
[[Image:Example.jpg]|thumb|test]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">Update / Autoupdate feature</span>
** IO
*** <span style="font-weight:bold; color:green">bugfixes</span>
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5330
5329
2009-01-26T07:28:12Z
Jens
63
Undo revision 5329 by [[Special:Contributions/Jens|Jens]] ([[User talk:Jens|Talk]])
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it.
If on a Windows system you see an error message such as this
[[Image:Imagevis3d-no-redist-error.png]|thumb|Redist error]
you need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">Update / Autoupdate feature</span>
** IO
*** <span style="font-weight:bold; color:green">bugfixes</span>
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5331
5330
2009-01-26T07:29:05Z
Jens
63
Undo revision 5328 by [[Special:Contributions/Jens|Jens]] ([[User talk:Jens|Talk]])
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.
[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist errro message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">Update / Autoupdate feature</span>
** IO
*** <span style="font-weight:bold; color:green">bugfixes</span>
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5332
5331
2009-01-26T07:30:00Z
Jens
63
/* Download the binary */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist errro message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">Update / Autoupdate feature</span>
** IO
*** <span style="font-weight:bold; color:green">bugfixes</span>
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5333
5332
2009-01-29T00:07:44Z
Jens
63
/* Current Development Focus */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is availiable for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist errro message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">Update / Autoupdate feature</span>
*** <span style="font-weight:bold; color:green">Welcome Screen</span>
** IO
*** <span style="font-weight:bold; color:green">bugfixes</span>
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
*** <span style="font-weight:bold; color:green">ftp upload capabilites</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5334
5333
2009-01-29T18:37:42Z
Tfogal
62
/* Download the binary */ typos
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">Update / Autoupdate feature</span>
*** <span style="font-weight:bold; color:green">Welcome Screen</span>
** IO
*** <span style="font-weight:bold; color:green">bugfixes</span>
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
*** <span style="font-weight:bold; color:green">ftp upload capabilites</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5337
5334
2009-01-30T07:45:03Z
Tfogal
62
/* Development Information */ link to changelog
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5342
5337
2009-02-02T22:12:33Z
Jens
63
/* Video Tutorials */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5343
5342
2009-02-04T01:00:44Z
Jens
63
/* Video Tutorials */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5344
5343
2009-02-04T07:59:16Z
Jens
63
/* Current Development Focus */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** export dataset
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
*** <span style="font-weight:bold; color:green">UVFConvert cross convert features</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5345
5344
2009-02-04T08:01:10Z
Jens
63
/* Download the binary */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** export dataset
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
*** <span style="font-weight:bold; color:green">UVFConvert cross convert features</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5346
5345
2009-02-05T07:26:25Z
Jens
63
/* Current Development Focus */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">export dataset</span>
** Script Engine
*** further ImageVis3D control via script
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">record video tutorials</span>
*** <span style="font-weight:bold; color:green">UVFConvert cross convert features</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5347
5346
2009-02-12T00:25:04Z
Jens
63
/* Current Development Focus */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">export dataset</span>
** Script Engine
*** <span style="font-weight:bold; color:green">further ImageVis3D control via script</span>
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">generate mesh from isosurface</span>
*** <span style="font-weight:bold; color:green">record video tutorials</span>
*** <span style="font-weight:bold; color:green">UVFConvert cross convert features</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5348
5347
2009-02-15T09:19:43Z
Jens
63
/* Current Development Focus */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">export dataset</span>
** Script Engine
*** <span style="font-weight:bold; color:green">further ImageVis3D control via script</span>
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">generate mesh from isosurface</span>
*** <span style="font-weight:bold; color:green">record video tutorials</span>
*** <span style="font-weight:bold; color:green">UVFConvert cross convert features</span>
*** <span style="font-weight:bold; color:green">data set merger</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5355
5348
2009-03-04T04:53:31Z
Tfogal
62
/* Manual */ add a link to some online docs
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it yourself ===
Assuming that you already have a static build of QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have a static Qt build yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]]
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">export dataset</span>
** Script Engine
*** <span style="font-weight:bold; color:green">further ImageVis3D control via script</span>
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">generate mesh from isosurface</span>
*** <span style="font-weight:bold; color:green">record video tutorials</span>
*** <span style="font-weight:bold; color:green">UVFConvert cross convert features</span>
*** <span style="font-weight:bold; color:green">data set merger</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
CIBC:ImageVis3D ChangeLog0.052b
0
2623
5319
2009-01-14T18:26:43Z
Tfogal
62
bugfix release
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.052 beta!
This is a bugfix release, meant to address last minute issues that came up with 0.051b. Changes include:
* Fix for a Mac-only capturing bug, which affects writing out image sequences for a movie.
ImageVis3D 0.052b supports Intel Macs 10.4 and up, Windows, and Linux. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
File:IV3D Manual.pdf
6
2624
5324
2009-01-18T02:43:15Z
Tfogal
62
Current WIP manual for ImageVis3D.
wikitext
text/x-wiki
Current WIP manual for ImageVis3D.
File:Imagevis3d-no-redist-error.png
6
2625
5326
2009-01-26T07:16:52Z
Jens
63
wikitext
text/x-wiki
5327
5326
2009-01-26T07:19:08Z
Jens
63
uploaded a new version of "[[Image:Imagevis3d-no-redist-error.png]]"
wikitext
text/x-wiki
CIBC:ImageVis3D ChangeLog0.054b
0
2626
5335
2009-01-30T07:40:38Z
Tfogal
62
finally releasing 0.054b
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.054 beta!
This is primarily a bugfix release, fixing many known issues. Changes in this release include:
* ImageVis3D can now update itself when it finds a later release available.
* A welcome screen was added for ease of use.
* FTP uploads for debug logs, useful for a developer in diagnosing a particular machine's issue.
* Various Qt workarounds for Mac UI issues.
* Fixed a bug in the detection of the amount of memory on Linux systems.
* Optional switch to disable LOD when saving MIP rotations
* Add a coordinate cross to aid in orienting the dataset.
* Fixed a bug in saving both TIFF and GIF image files.
* Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
* Unsupported Mac PPC binaries.
ImageVis3D 0.054b supports Intel Macs 10.4 and up, Windows, and Linux. In addition, PPC Macs may run but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5336
5335
2009-01-30T07:43:30Z
Tfogal
62
forgot to mention tuvok changes
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.054 beta!
This is primarily a bugfix release, fixing many known issues. Changes in this release include:
* ImageVis3D can now update itself when it finds a later release available.
* A welcome screen was added for ease of use.
* FTP uploads for debug logs, useful for a developer in diagnosing a particular machine's issue.
* Various Qt workarounds for Mac UI issues.
* Fixed a bug in the detection of the amount of memory on Linux systems.
* Optional switch to disable LOD when saving MIP rotations
* Fixed a bug reading some NRRD files. ImageVis3D should be able to read NRRDs as exported by Seg3D.
* Add a coordinate cross to aid in orienting the dataset.
* Fixed a bug in saving both TIFF and GIF image files.
* Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
* Unsupported Mac PPC binaries.
* (Developer only) Dynamically-linked Qt builds now work again.
ImageVis3D 0.054b supports Intel Macs 10.4 and up, Windows, and Linux. In addition, PPC Macs may run but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5338
5336
2009-01-30T07:50:45Z
Tfogal
62
wording
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.054 beta!
This is primarily a bugfix release, fixing many known issues. Changes in this release include:
* ImageVis3D can now update itself when it finds a later release is available.
* A welcome screen was added for ease of use.
* FTP uploads for debug logs, useful for a developer in diagnosing a particular machine's issue.
* Various Qt workarounds for Mac UI issues.
* Fixed a bug in the detection of the amount of memory on Linux systems.
* Optional switch to disable LOD when saving MIP rotations
* Fixed a bug reading some NRRD files. ImageVis3D should be able to read NRRDs as exported by Seg3D.
* Add a coordinate cross to aid in orienting the dataset.
* Fixed a bug in saving both TIFF and GIF image files.
* Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
* Unsupported Mac PPC binaries.
* (Developer only) Dynamically-linked Qt builds now work again.
ImageVis3D 0.054b supports Intel Macs 10.4 and up, Windows, and Linux. In addition, PPC Macs may run but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5339
5338
2009-01-30T07:56:09Z
Tfogal
62
wording
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.054 beta!
This is primarily a bugfix release, fixing many known issues. Changes in this release include:
* ImageVis3D can now update itself when it finds a later release is available.
* A welcome screen was added for ease of use.
* FTP uploads for debug logs, useful for a developer in diagnosing a particular machine's issue.
* Various Qt workarounds for Mac UI issues.
* Fixed a bug in the detection of the amount of memory on Linux systems.
* Optional switch to disable LOD when saving MIP rotations
* Fixed a bug reading some NRRD files. ImageVis3D should now be able to read NRRDs as exported by Seg3D.
* Add a coordinate cross to aid in orienting the dataset.
* Fixed a bug in saving both TIFF and GIF image files.
* Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
* Unsupported Mac PPC binaries.
* (Developer only) Dynamically-linked Qt builds now work again.
ImageVis3D 0.054b supports Intel Macs 10.4 and up, Windows, and Linux. In addition, PPC Macs may run but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
CIBC:Meshing
0
2603
5340
5214
2009-01-30T17:07:46Z
Wmartin
61
wikitext
text/x-wiki
=Meshing =
[[CIBC:Meshing compiling| check out/compile/run]]
[[CIBC:Meshing Results| collaborator meshing results]]
[[CIBC:Meshing completed models| completed mesh projects]]
CIBC:Meshing compiling
0
2604
5341
5229
2009-01-30T17:48:05Z
Wmartin
61
wikitext
text/x-wiki
= Getting python =
This project requires python. Mac's and many Linux boxes have python preinstalled. If you need to install python on your system, you can obtain it at http://www.python.org/download/
= Checking out the Code =
svn co https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
= Building the Code =
cd SCIRun
./build.sh --with-meshing-pipeline
= Using the Code =
From your SCIRun directory, you can run
src/StandAlone/Apps/FEMesher/scripts/BuildMesh.py --help
will print the usage information.
= An example =
An example model file has been placed [http://www.sci.utah.edu/~dmw/FEMesher/mickey/ here]. Download the NRRD and model files onto your system. Edit the model_config.py, changing the top 2 lines to point to full path to the NRRD on your system and the full path to a directory where the mesher can place its output.
To run the mesher:
[path to your SCIRun directory]/src/StandAlone/Apps/FEMesher/scripts/BuildMesh.py [path to your SCIRun directory]/bin/FEMesher/mesher_config.py [path to your model]/model_config.py
Note: The build.sh script above makes an effort to set up the mesher_config.py for you. However, you might wish to check that the values in mesher_config.py above are appropriate for your system.
5349
5341
2009-02-18T00:10:30Z
Wmartin
61
wikitext
text/x-wiki
= Getting python =
This project requires python. Mac's and many Linux boxes have python preinstalled. If you need to install python on your system, you can obtain it at http://www.python.org/download/
= Checking out the Code =
svn co https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
= Building the Code =
cd SCIRun
./build.sh --with-meshing-pipeline
= Using the Code =
From your SCIRun directory, you can run
src/StandAlone/Apps/FEMesher/scripts/BuildMesh.py --help
will print the usage information.
= An example =
Example model files has been placed [http://www.sci.utah.edu/~dmw/FEMesher/ here]. Download the NRRD and model files onto your system. Edit the model_config.py, changing the top 2 lines to point to full path to the NRRD on your system and the full path to a directory where the mesher can place its output.
To run the mesher:
[path to your SCIRun directory]/src/StandAlone/Apps/FEMesher/scripts/BuildMesh.py [path to your SCIRun directory]/bin/FEMesher/mesher_config.py [path to your model]/model_config.py
Note: The build.sh script above makes an effort to set up the mesher_config.py for you. However, you might wish to check that the values in mesher_config.py above are appropriate for your system.
5350
5349
2009-02-18T00:11:16Z
Wmartin
61
wikitext
text/x-wiki
= Getting python =
This project requires python. Mac's and many Linux boxes have python preinstalled. If you need to install python on your system, you can obtain it at http://www.python.org/download/
= Checking out the Code =
svn co https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
= Building the Code =
cd SCIRun
./build.sh --with-meshing-pipeline
= Using the Code =
From your SCIRun directory, you can run
src/StandAlone/Apps/FEMesher/scripts/BuildMesh.py --help
will print the usage information.
= An example =
Example model files have been placed [http://www.sci.utah.edu/~dmw/FEMesher/ here]. Download the NRRD and model files onto your system. Edit the model_config.py, changing the top 2 lines to point to full path to the NRRD on your system and the full path to a directory where the mesher can place its output.
To run the mesher:
[path to your SCIRun directory]/src/StandAlone/Apps/FEMesher/scripts/BuildMesh.py [path to your SCIRun directory]/bin/FEMesher/mesher_config.py [path to your model]/model_config.py
Note: The build.sh script above makes an effort to set up the mesher_config.py for you. However, you might wish to check that the values in mesher_config.py above are appropriate for your system.
5351
5350
2009-02-18T00:16:18Z
Wmartin
61
wikitext
text/x-wiki
= Getting python =
This project requires python. Mac's and many Linux boxes have python preinstalled. If you need to install python on your system, you can obtain it at http://www.python.org/download/
= Checking out the Code =
svn co https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
= Building the Code =
cd SCIRun
./build.sh --with-meshing-pipeline
= Using the Code =
From your SCIRun directory, you can run
src/StandAlone/Apps/FEMesher/scripts/BuildMesh.py --help
will print the usage information.
= An example =
Example model files have been placed [http://www.sci.utah.edu/~dmw/FEMesher/ here]. For each model, download the NRRD and model_config files onto your system. Edit the model_config.py, changing the top 2 lines to point to full path to the NRRD on your system and the full path to a directory where the mesher can place its output.
To run the mesher:
[path to your SCIRun directory]/src/StandAlone/Apps/FEMesher/scripts/BuildMesh.py [path to your SCIRun directory]/bin/FEMesher/mesher_config.py [path to your model]/model_config.py
Note: The build.sh script above makes an effort to set up the mesher_config.py for you. However, you might wish to check that the values in mesher_config.py above are appropriate for your system.
CIBC:ImageVis3D:Documentation:DebugLogs
0
2627
5352
2009-03-04T04:50:58Z
Tfogal
62
started the page
wikitext
text/x-wiki
= Debug Logs =
ImageVis3D has a builtin logging system designed to quickly ascertain where an error is occurring. If you are running into an issue with ImageVis3D, one of the most useful pieces of information you can give is a debug log which was generated when you encountered your issue.
== Enabling Debug Logs ==
ImageVis3D's debug logs can be enabled interactively via the GUI, or via command line options.
=== GUI ===
To enable particular debug channels, simply select the `Debug Window' menu option from the `Help' menu.
=== Command Line ===
There are two relevant options: <TT>log</TT> and <TT>loglevel</TT>. The first allows you to specify a file where the debug log should be dumped. The second details how verbose the log should be. For example:
./ImageVis3D -log ~/iv3d-log.txt -loglevel 2
would run ImageVis3D with the most verbose logging being dumped to a file named ''iv3d-log.txt'' in your home directory.
5356
5352
2009-03-04T05:07:15Z
Tfogal
62
/* GUI */ images and detail on what each channel does
wikitext
text/x-wiki
= Debug Logs =
ImageVis3D has a builtin logging system designed to quickly ascertain where an error is occurring. If you are running into an issue with ImageVis3D, one of the most useful pieces of information you can give is a debug log which was generated when you encountered your issue.
== Enabling Debug Logs ==
ImageVis3D's debug logs can be enabled interactively via the GUI, or via command line options.
=== GUI ===
To enable particular debug channels, simply select the `Debug Window' menu option from the `Help' menu.
[[Image:Help-debugwin.png|thumb|How to open ImageVis3D's debug window]]
From there, 4 debug channels are available for you to disable or enable:
* ''Errors'' - display hard error message, which generally mean ImageVis3D cannot work with the input to some subsystem. These are almost always development errors -- please report them!
* ''Warnings'' - anomalous conditions which may or may not be bad; ImageVis3D will generally try to continue after a warning.
* ''Messages'' - Verbose output aimed at detailing the path through the code, and what ImageVis3D is doing "under the hood".
* ''Other'' - otherwise unclassified debug messages; not used often.
[[Image:Debugwin-highlight.png|ImageVis3D debugging GUI]]
If you are preparing a log to send to a developer, you should select all 4. Note that ImageVis3D can be noticeably slower with debug logs enabled (particularly ''Messages'').
=== Command Line ===
There are two relevant options: <TT>log</TT> and <TT>loglevel</TT>. The first allows you to specify a file where the debug log should be dumped. The second details how verbose the log should be. For example:
./ImageVis3D -log ~/iv3d-log.txt -loglevel 2
would run ImageVis3D with the most verbose logging being dumped to a file named ''iv3d-log.txt'' in your home directory.
5357
5356
2009-03-04T05:11:45Z
Tfogal
62
/* Command Line */ Mac OS specifics
wikitext
text/x-wiki
= Debug Logs =
ImageVis3D has a builtin logging system designed to quickly ascertain where an error is occurring. If you are running into an issue with ImageVis3D, one of the most useful pieces of information you can give is a debug log which was generated when you encountered your issue.
== Enabling Debug Logs ==
ImageVis3D's debug logs can be enabled interactively via the GUI, or via command line options.
=== GUI ===
To enable particular debug channels, simply select the `Debug Window' menu option from the `Help' menu.
[[Image:Help-debugwin.png|thumb|How to open ImageVis3D's debug window]]
From there, 4 debug channels are available for you to disable or enable:
* ''Errors'' - display hard error message, which generally mean ImageVis3D cannot work with the input to some subsystem. These are almost always development errors -- please report them!
* ''Warnings'' - anomalous conditions which may or may not be bad; ImageVis3D will generally try to continue after a warning.
* ''Messages'' - Verbose output aimed at detailing the path through the code, and what ImageVis3D is doing "under the hood".
* ''Other'' - otherwise unclassified debug messages; not used often.
[[Image:Debugwin-highlight.png|ImageVis3D debugging GUI]]
If you are preparing a log to send to a developer, you should select all 4. Note that ImageVis3D can be noticeably slower with debug logs enabled (particularly ''Messages'').
=== Command Line ===
There are two relevant options: <TT>log</TT> and <TT>loglevel</TT>. The first allows you to specify a file where the debug log should be dumped. The second details how verbose the log should be. For example:
./ImageVis3D -log ~/iv3d-log.txt -loglevel 2
would run ImageVis3D with the most verbose logging being dumped to a file named ''iv3d-log.txt'' in your home directory.
==== OS X Caveat ====
The Mac OS X binaries are distributed as application bundles. This means the file which you would generally double-click on to start ImageVis3D is actually a directory named ''ImageVis3D.app''. The binary used to start ImageVis3D is actually hidden away with that directory, but to run with command line options one needs to invoke the binary directly.
Run the 'Terminal' application (in ''Applications'' then ''Utilities'') to get an OS X command line. If you saved ImageVis3D to your desktop, then to recreate the command line above you would type:
~/Desktop/ImageVis3D.app/Contents/MacOS/ImageVis3D -log ~/iv3d-log.txt -loglevel 2
5358
5357
2009-03-04T05:13:18Z
Tfogal
62
/* OS X Caveat */ typo
wikitext
text/x-wiki
= Debug Logs =
ImageVis3D has a builtin logging system designed to quickly ascertain where an error is occurring. If you are running into an issue with ImageVis3D, one of the most useful pieces of information you can give is a debug log which was generated when you encountered your issue.
== Enabling Debug Logs ==
ImageVis3D's debug logs can be enabled interactively via the GUI, or via command line options.
=== GUI ===
To enable particular debug channels, simply select the `Debug Window' menu option from the `Help' menu.
[[Image:Help-debugwin.png|thumb|How to open ImageVis3D's debug window]]
From there, 4 debug channels are available for you to disable or enable:
* ''Errors'' - display hard error message, which generally mean ImageVis3D cannot work with the input to some subsystem. These are almost always development errors -- please report them!
* ''Warnings'' - anomalous conditions which may or may not be bad; ImageVis3D will generally try to continue after a warning.
* ''Messages'' - Verbose output aimed at detailing the path through the code, and what ImageVis3D is doing "under the hood".
* ''Other'' - otherwise unclassified debug messages; not used often.
[[Image:Debugwin-highlight.png|ImageVis3D debugging GUI]]
If you are preparing a log to send to a developer, you should select all 4. Note that ImageVis3D can be noticeably slower with debug logs enabled (particularly ''Messages'').
=== Command Line ===
There are two relevant options: <TT>log</TT> and <TT>loglevel</TT>. The first allows you to specify a file where the debug log should be dumped. The second details how verbose the log should be. For example:
./ImageVis3D -log ~/iv3d-log.txt -loglevel 2
would run ImageVis3D with the most verbose logging being dumped to a file named ''iv3d-log.txt'' in your home directory.
==== OS X Caveat ====
The Mac OS X binaries are distributed as application bundles. This means the file which you would generally double-click on to start ImageVis3D is actually a directory named ''ImageVis3D.app''. The binary used to start ImageVis3D is actually hidden away within that directory, but to run with command line options one needs to invoke that binary directly.
Run the 'Terminal' application (in ''Applications'' then ''Utilities'') to get an OS X command line. If you saved ImageVis3D to your desktop, then to recreate the command line above you would type:
~/Desktop/ImageVis3D.app/Contents/MacOS/ImageVis3D -log ~/iv3d-log.txt -loglevel 2
5359
5358
2009-03-04T05:24:37Z
Tfogal
62
/* Debug Logs */ brief about issue dialog
wikitext
text/x-wiki
= Debug Logs =
ImageVis3D has a builtin logging system designed to quickly ascertain where an error is occurring. If you are running into an issue with ImageVis3D, one of the most useful pieces of information you can give is a debug log which was generated when you encountered your issue.
Recent versions of ImageVis3D also have a "Report an Issue" feature which allows one to interactively specify information in a much more convenient fashion. However some bugs may cause ImageVis3D to halt entirely, and thus it is impossible to use the interactive reporting dialog. For such cases, usually the best approach is to invoke ImageVis3D from the command line, specifying a log file to hold the debug logs. After reproducing the error, simply send the debug log to the [http://software.sci.utah.edu/mailinglists.html ''iv3d-users'' mailing list] with a brief overview of how you caused the crash.
== Enabling Debug Logs ==
ImageVis3D's debug logs can be enabled interactively via the GUI, or via command line options.
=== GUI ===
To enable particular debug channels, simply select the `Debug Window' menu option from the `Help' menu.
[[Image:Help-debugwin.png|thumb|How to open ImageVis3D's debug window]]
From there, 4 debug channels are available for you to disable or enable:
* ''Errors'' - display hard error message, which generally mean ImageVis3D cannot work with the input to some subsystem. These are almost always development errors -- please report them!
* ''Warnings'' - anomalous conditions which may or may not be bad; ImageVis3D will generally try to continue after a warning.
* ''Messages'' - Verbose output aimed at detailing the path through the code, and what ImageVis3D is doing "under the hood".
* ''Other'' - otherwise unclassified debug messages; not used often.
[[Image:Debugwin-highlight.png|ImageVis3D debugging GUI]]
If you are preparing a log to send to a developer, you should select all 4. Note that ImageVis3D can be noticeably slower with debug logs enabled (particularly ''Messages'').
=== Command Line ===
There are two relevant options: <TT>log</TT> and <TT>loglevel</TT>. The first allows you to specify a file where the debug log should be dumped. The second details how verbose the log should be. For example:
./ImageVis3D -log ~/iv3d-log.txt -loglevel 2
would run ImageVis3D with the most verbose logging being dumped to a file named ''iv3d-log.txt'' in your home directory.
==== OS X Caveat ====
The Mac OS X binaries are distributed as application bundles. This means the file which you would generally double-click on to start ImageVis3D is actually a directory named ''ImageVis3D.app''. The binary used to start ImageVis3D is actually hidden away within that directory, but to run with command line options one needs to invoke that binary directly.
Run the 'Terminal' application (in ''Applications'' then ''Utilities'') to get an OS X command line. If you saved ImageVis3D to your desktop, then to recreate the command line above you would type:
~/Desktop/ImageVis3D.app/Contents/MacOS/ImageVis3D -log ~/iv3d-log.txt -loglevel 2
5360
5359
2009-03-04T05:27:11Z
Tfogal
62
/* GUI */ wording
wikitext
text/x-wiki
= Debug Logs =
ImageVis3D has a builtin logging system designed to quickly ascertain where an error is occurring. If you are running into an issue with ImageVis3D, one of the most useful pieces of information you can give is a debug log which was generated when you encountered your issue.
Recent versions of ImageVis3D also have a "Report an Issue" feature which allows one to interactively specify information in a much more convenient fashion. However some bugs may cause ImageVis3D to halt entirely, and thus it is impossible to use the interactive reporting dialog. For such cases, usually the best approach is to invoke ImageVis3D from the command line, specifying a log file to hold the debug logs. After reproducing the error, simply send the debug log to the [http://software.sci.utah.edu/mailinglists.html ''iv3d-users'' mailing list] with a brief overview of how you caused the crash.
== Enabling Debug Logs ==
ImageVis3D's debug logs can be enabled interactively via the GUI, or via command line options.
=== GUI ===
To enable particular debug channels, simply select the `Debug Window' menu option from the `Help' menu.
[[Image:Help-debugwin.png|thumb|How to open ImageVis3D's debug window]]
From there, 4 debug channels are available for you to disable or enable:
* ''Errors'' - display hard error message, which generally mean ImageVis3D cannot work with the input to some subsystem. These are almost always development errors -- please report them!
* ''Warnings'' - anomalous conditions which may or may not be indicative of a problem; ImageVis3D will generally try to continue after a warning.
* ''Messages'' - Verbose output aimed at detailing the path through the code, and what ImageVis3D is doing "under the hood".
* ''Other'' - otherwise unclassified debug messages; not used often.
[[Image:Debugwin-highlight.png|ImageVis3D debugging GUI]]
If you are preparing a log to send to a developer, you should select all 4. Note that ImageVis3D can be noticeably slower with debug logs enabled (particularly ''Messages'').
=== Command Line ===
There are two relevant options: <TT>log</TT> and <TT>loglevel</TT>. The first allows you to specify a file where the debug log should be dumped. The second details how verbose the log should be. For example:
./ImageVis3D -log ~/iv3d-log.txt -loglevel 2
would run ImageVis3D with the most verbose logging being dumped to a file named ''iv3d-log.txt'' in your home directory.
==== OS X Caveat ====
The Mac OS X binaries are distributed as application bundles. This means the file which you would generally double-click on to start ImageVis3D is actually a directory named ''ImageVis3D.app''. The binary used to start ImageVis3D is actually hidden away within that directory, but to run with command line options one needs to invoke that binary directly.
Run the 'Terminal' application (in ''Applications'' then ''Utilities'') to get an OS X command line. If you saved ImageVis3D to your desktop, then to recreate the command line above you would type:
~/Desktop/ImageVis3D.app/Contents/MacOS/ImageVis3D -log ~/iv3d-log.txt -loglevel 2
5361
5360
2009-03-04T05:27:36Z
Tfogal
62
/* GUI */ wording
wikitext
text/x-wiki
= Debug Logs =
ImageVis3D has a builtin logging system designed to quickly ascertain where an error is occurring. If you are running into an issue with ImageVis3D, one of the most useful pieces of information you can give is a debug log which was generated when you encountered your issue.
Recent versions of ImageVis3D also have a "Report an Issue" feature which allows one to interactively specify information in a much more convenient fashion. However some bugs may cause ImageVis3D to halt entirely, and thus it is impossible to use the interactive reporting dialog. For such cases, usually the best approach is to invoke ImageVis3D from the command line, specifying a log file to hold the debug logs. After reproducing the error, simply send the debug log to the [http://software.sci.utah.edu/mailinglists.html ''iv3d-users'' mailing list] with a brief overview of how you caused the crash.
== Enabling Debug Logs ==
ImageVis3D's debug logs can be enabled interactively via the GUI, or via command line options.
=== GUI ===
To enable particular debug channels, simply select the `Debug Window' menu option from the `Help' menu.
[[Image:Help-debugwin.png|thumb|How to open ImageVis3D's debug window]]
From there, 4 debug channels are available for you to disable or enable:
* ''Errors'' - display hard error message, which generally mean ImageVis3D cannot work with the input to some subsystem. These are almost always coding errors -- please report them!
* ''Warnings'' - anomalous conditions which may or may not be indicative of a problem; ImageVis3D will generally try to continue after a warning.
* ''Messages'' - Verbose output aimed at detailing the path through the code, and what ImageVis3D is doing "under the hood".
* ''Other'' - otherwise unclassified debug messages; not used often.
[[Image:Debugwin-highlight.png|ImageVis3D debugging GUI]]
If you are preparing a log to send to a developer, you should select all 4. Note that ImageVis3D can be noticeably slower with debug logs enabled (particularly ''Messages'').
=== Command Line ===
There are two relevant options: <TT>log</TT> and <TT>loglevel</TT>. The first allows you to specify a file where the debug log should be dumped. The second details how verbose the log should be. For example:
./ImageVis3D -log ~/iv3d-log.txt -loglevel 2
would run ImageVis3D with the most verbose logging being dumped to a file named ''iv3d-log.txt'' in your home directory.
==== OS X Caveat ====
The Mac OS X binaries are distributed as application bundles. This means the file which you would generally double-click on to start ImageVis3D is actually a directory named ''ImageVis3D.app''. The binary used to start ImageVis3D is actually hidden away within that directory, but to run with command line options one needs to invoke that binary directly.
Run the 'Terminal' application (in ''Applications'' then ''Utilities'') to get an OS X command line. If you saved ImageVis3D to your desktop, then to recreate the command line above you would type:
~/Desktop/ImageVis3D.app/Contents/MacOS/ImageVis3D -log ~/iv3d-log.txt -loglevel 2
5362
5361
2009-03-04T05:28:22Z
Tfogal
62
/* Command Line */ wording
wikitext
text/x-wiki
= Debug Logs =
ImageVis3D has a builtin logging system designed to quickly ascertain where an error is occurring. If you are running into an issue with ImageVis3D, one of the most useful pieces of information you can give is a debug log which was generated when you encountered your issue.
Recent versions of ImageVis3D also have a "Report an Issue" feature which allows one to interactively specify information in a much more convenient fashion. However some bugs may cause ImageVis3D to halt entirely, and thus it is impossible to use the interactive reporting dialog. For such cases, usually the best approach is to invoke ImageVis3D from the command line, specifying a log file to hold the debug logs. After reproducing the error, simply send the debug log to the [http://software.sci.utah.edu/mailinglists.html ''iv3d-users'' mailing list] with a brief overview of how you caused the crash.
== Enabling Debug Logs ==
ImageVis3D's debug logs can be enabled interactively via the GUI, or via command line options.
=== GUI ===
To enable particular debug channels, simply select the `Debug Window' menu option from the `Help' menu.
[[Image:Help-debugwin.png|thumb|How to open ImageVis3D's debug window]]
From there, 4 debug channels are available for you to disable or enable:
* ''Errors'' - display hard error message, which generally mean ImageVis3D cannot work with the input to some subsystem. These are almost always coding errors -- please report them!
* ''Warnings'' - anomalous conditions which may or may not be indicative of a problem; ImageVis3D will generally try to continue after a warning.
* ''Messages'' - Verbose output aimed at detailing the path through the code, and what ImageVis3D is doing "under the hood".
* ''Other'' - otherwise unclassified debug messages; not used often.
[[Image:Debugwin-highlight.png|ImageVis3D debugging GUI]]
If you are preparing a log to send to a developer, you should select all 4. Note that ImageVis3D can be noticeably slower with debug logs enabled (particularly ''Messages'').
=== Command Line ===
There are two relevant options: <TT>log</TT> and <TT>loglevel</TT>. The first allows you to specify a file where the debug log should be dumped. The second details how verbose the log should be. For example:
./ImageVis3D -log ~/iv3d-log.txt -loglevel 2
would run ImageVis3D in its most verbose logging mode, dumping to a file named ''iv3d-log.txt'' in your home directory.
==== OS X Caveat ====
The Mac OS X binaries are distributed as application bundles. This means the file which you would generally double-click on to start ImageVis3D is actually a directory named ''ImageVis3D.app''. The binary used to start ImageVis3D is actually hidden away within that directory, but to run with command line options one needs to invoke that binary directly.
Run the 'Terminal' application (in ''Applications'' then ''Utilities'') to get an OS X command line. If you saved ImageVis3D to your desktop, then to recreate the command line above you would type:
~/Desktop/ImageVis3D.app/Contents/MacOS/ImageVis3D -log ~/iv3d-log.txt -loglevel 2
File:Help-debugwin.png
6
2628
5353
2009-03-04T04:52:35Z
Tfogal
62
How to open the debug window.
wikitext
text/x-wiki
How to open the debug window.
File:Debugwin-highlight.png
6
2629
5354
2009-03-04T04:53:02Z
Tfogal
62
Where the debug channels are in the debug window.
wikitext
text/x-wiki
Where the debug channels are in the debug window.
CIBC:ImageVis3D:Documentation:Overview
0
2630
5363
2009-03-04T05:31:06Z
Tfogal
62
New page: [[CIBC:ImageVis3D:Documentation:DebugLogs | Debug logs]]
wikitext
text/x-wiki
[[CIBC:ImageVis3D:Documentation:DebugLogs | Debug logs]]
CIBC:ImageVis3D
0
2614
5364
5355
2009-03-04T05:32:28Z
Tfogal
62
/* Compile it yourself */ update -- doesn't need to be static anymore
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to you Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]]
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">export dataset</span>
** Script Engine
*** <span style="font-weight:bold; color:green">further ImageVis3D control via script</span>
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">generate mesh from isosurface</span>
*** <span style="font-weight:bold; color:green">record video tutorials</span>
*** <span style="font-weight:bold; color:green">UVFConvert cross convert features</span>
*** <span style="font-weight:bold; color:green">data set merger</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5365
5364
2009-03-04T05:32:50Z
Tfogal
62
/* Compile it Yourself */ missing `r'
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]]
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''February 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">export dataset</span>
** Script Engine
*** <span style="font-weight:bold; color:green">further ImageVis3D control via script</span>
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">generate mesh from isosurface</span>
*** <span style="font-weight:bold; color:green">record video tutorials</span>
*** <span style="font-weight:bold; color:green">UVFConvert cross convert features</span>
*** <span style="font-weight:bold; color:green">data set merger</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
* 0.20 RC (release candiate 2) ''February 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''February/March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''April 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5366
5365
2009-03-04T05:34:09Z
Tfogal
62
/* Roadmap */ updated the schedule
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]]
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''March 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">export dataset</span>
** Script Engine
*** <span style="font-weight:bold; color:green">further ImageVis3D control via script</span>
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">generate mesh from isosurface</span>
*** <span style="font-weight:bold; color:green">record video tutorials</span>
*** <span style="font-weight:bold; color:green">UVFConvert cross convert features</span>
*** <span style="font-weight:bold; color:green">data set merger</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''March 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''March 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''May 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?), multiple dataset fusion renderer
5367
5366
2009-03-04T05:34:36Z
Tfogal
62
/* Roadmap */ multi-channel data is in the works
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]]
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.06 beta CODENAME: Groundhog (clip planes)</span> ''March 2009''
** UI
*** shortcuts
*** <span style="font-weight:bold; color:green">export dataset</span>
** Script Engine
*** <span style="font-weight:bold; color:green">further ImageVis3D control via script</span>
** Tuvok
*** field testing, clip planes, slice capturing
** Other
*** <span style="font-weight:bold; color:green">generate mesh from isosurface</span>
*** <span style="font-weight:bold; color:green">record video tutorials</span>
*** <span style="font-weight:bold; color:green">UVFConvert cross convert features</span>
*** <span style="font-weight:bold; color:green">data set merger</span>
==== Future Development Plans ====
* 0.07 beta (1.0 feature complete release) ''March 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
* 0.10 RC (release candiate 1) ''March 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''March 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''May 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5377
5367
2009-03-13T02:01:36Z
Tfogal
62
/* Development Information */ update for new release
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]]
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.07 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5378
5377
2009-03-13T02:02:04Z
Tfogal
62
/* Manual */ missing period
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/MakeStaticQT.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.07 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5379
5378
2009-03-20T19:41:54Z
Tfogal
62
fix script path
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.07 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5381
5379
2009-03-24T20:08:52Z
Tfogal
62
/* Development Information */ update schedule to match releases
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5382
5381
2009-03-24T20:22:27Z
Tfogal
62
sample datasets
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5386
5382
2009-03-28T06:44:13Z
Jens
63
added reference to ImageVis3D Mobile / The Visible Human Mobile
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5387
5386
2009-04-16T21:58:10Z
Jens
63
/* Download the binary */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 0.07b.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5389
5387
2009-04-17T17:42:24Z
Tfogal
62
/* Manual */ fix manual version.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of the ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program should be another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provide the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 1.0.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5390
5389
2009-04-17T17:43:44Z
Tfogal
62
/* Motivation and Overview */ wording, tense.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have QT 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 1.0.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5391
5390
2009-04-17T17:44:49Z
Tfogal
62
/* Compile it Yourself */ QT->Qt
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
We are currently exploring options to receive bug reports from the community. For now, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 1.0.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5392
5391
2009-04-17T17:47:56Z
Tfogal
62
/* Report Issues */ rewritten, we now have a dialog for this
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 1.0.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Desgin Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5393
5392
2009-04-17T19:13:00Z
Tfogal
62
/* Development Information */ typo
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 1.0.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon (with releases 0.05 - 0.07)
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5395
5393
2009-04-19T23:56:18Z
Tfogal
62
/* Video Tutorials */ don't know when tutorials will be done.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 1.0.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5397
5395
2009-05-12T20:56:31Z
Jens
63
/* Sample Datasets */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://code.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 1.0.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5398
5397
2009-05-15T00:43:32Z
Tfogal
62
/* Compile it Yourself */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 1.0.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5400
5398
2009-05-21T23:35:50Z
Tfogal
62
/* Past Release Archive */ add changelog link for 0.1b.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 1.0.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
==== Current Development Focus ====
* <span style="font-weight:bold; color:red">0.08 beta (1.0 feature complete release)</span> ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** full ImageVis3D control via script
** Tuvok
*** field testing, DirectX Renderer for windows
** Other
*** write manual and combine with video tutorials
==== Future Development Plans ====
* 0.10 RC (release candiate 1) ''April 2009''
** UI
*** bugfixes
** IO
*** bugfixes
** Script Engine
*** bugfixes
** Tuvok
*** field testing, bugfixes
[further RCs as needed]
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.stack.nl/~dimitri/doxygen/ Doxgen] code documentation
[...]
* 1.10 (Service Release) ''June 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5401
5400
2009-05-21T23:37:57Z
Tfogal
62
/* Roadmap */ update for current devel
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [[media:IV3D_Manual.pdf | current manual]] is a work in progress, but will be complete for release 1.0.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
==== Current Development Focus ====
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.doxygen.org Doxgen] code documentation
==== Future Development Plans ====
* 1.1 (Service Release) ''July 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5402
5401
2009-05-27T21:08:47Z
Tfogal
62
/* Manual */ fix link
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
There is also some [[CIBC:ImageVis3D:Documentation:Overview | Online Documentation]].
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
==== Current Development Focus ====
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.doxygen.org Doxgen] code documentation
==== Future Development Plans ====
* 1.1 (Service Release) ''July 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5403
5402
2009-05-27T21:09:25Z
Tfogal
62
/* Manual */ remove links to crappy docs
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
==== Current Development Focus ====
* 1.00 (Version 1.0) ''May 2009''
** UI
*** no known bugs
** IO
*** no known bugs
** Script Engine
*** no known bugs
** Tuvok
*** no known bugs, on supported hardware (which is to be determined)
** Other
*** wrap into installer on windows and OS X
*** complete [http://www.doxygen.org Doxgen] code documentation
==== Future Development Plans ====
* 1.1 (Service Release) ''July 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full JPEG DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
[further Service Releases as needed]<br>
[alpha, beta and RC releases of the 2.0 version]
* 2.00 (data modification capabilities, e.g. filtering, cropping) ''December 2009''
** UI
*** add data modification, address user feedback/suggestions
** IO
*** read/write IO, fix issues, support more exotic file formats as needed
** Script Engine
*** keep up with new features
** Tuvok
*** software renderer (?)
*** multiple dataset fusion renderer
*** Support multi-channel data
5405
5403
2009-05-29T17:23:52Z
Tfogal
62
/* Development Information */ updated for 1.0 release. removed 'future development plans', they were lame anyway.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Got to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
==== Current Development Focus ====
* 1.1 (Service Release) ''July 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
5406
5405
2009-05-29T17:24:38Z
Tfogal
62
/* ImageVis3D Mobile / The Visible Human Mobile */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== ImageVis3D Mobile / The Visible Human Mobile ==
Go to this page for information on ImageVis3D Mobile and The Visible Human Mobile: [http://www.sci.utah.edu/cibc/wiki/index.php/CIBC:ImageVis3D:Mobile]
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
==== Current Development Focus ====
* 1.1 (Service Release) ''July 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
5409
5406
2009-06-02T04:13:42Z
Jens
63
/* ImageVis3D Mobile / The Visible Human Mobile */ removed reference to IMageVis3D Mobile
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
==== Current Development Focus ====
* 1.1 (Service Release) ''July 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
5410
5409
2009-06-03T22:57:16Z
Jens
63
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. On windows you may need to download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
==== Current Development Focus ====
* 1.1 (Service Release) ''July 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
5411
5410
2009-06-03T22:58:24Z
Jens
63
/* Download the binary */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries be make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
==== Current Development Focus ====
* 1.1 (Service Release) ''July 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
5412
5411
2009-06-03T22:58:47Z
Jens
63
/* Download the binary */ fixed typo
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
==== Current Development Focus ====
* 1.1 (Service Release) ''July 2009''
** UI
*** fix issues, address user feedback/suggestions
** IO
*** fix issues, support more exotic file formats (e.g. full DICOM support)
** Script Engine
*** fix issues
** Tuvok
*** fix issues, possibly extend supported hardware range
CIBC:ImageVis3D ChangeLog0.06b
0
2631
5368
2009-03-13T01:04:26Z
Tfogal
62
notes for 0.06
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.06 beta!
While 0.06b is primarily a feature release, many bugs were fixed in this release. Changes since 0.05b include:
* New features:
** UI improvements. ImageVis3D now includes a welcome screen to let users quickly access online help, or load their data with just a single click. A `Report' dialog was added to allow users to quickly report issues to developers.
** A clipping plane was added to allow users to slice into their data. Clipping planes use the same mouse controls as normal volume interaction; hold the `Control' key (`Command' on Macs) to manipulate the clipping plane independent of the volume.
** A coordinate cross has been added to prevent users from becoming disoriented, especially when zoomed inside a dataset. Press `c' to enable / disable the cross.
** ImageVis3D can now update itself when it detects a new release.
** MIP rotations include an option to ignore LOD levels, using only the maximum resolution of the dataset.
** Many of ImageVis3D's supported file formats can now be ''written'' as well. This allows users to utilize ImageVis3D as a data conversion utility.
** ImageVis3D can now export an extracted isosurface as mesh.
** Support for some new file formats:
*** `Stack' format (''.stk'' files), as output by the [http://www.moleculardevices.com/pages/software/metamorph.html Metamorph] software.
*** `TIFF Volumes', or a stack of images embedded into a single TIFF file. In particular, this allows reading [http://www.loci.wisc.edu/ome/ome-tiff.html OME-TIFF] formatted volumes.
* Bugs fixed in this release:
** Quantization fixes for data which could not previously be loaded.
** Fixed a Mac-only bug in the capturing code, which prevented movie generation.
** Many workarounds UI issues that were present with the Mac build.
** Fixed a bug in the detection of the amount of memory on Linux systems.
** Fixed a bug reading some NRRD files. ImageVis3D should now be able to read NRRDs as exported by Seg3D.
** Fixed a bug in saving both TIFF and GIF image files.
* Changes of interest to developers:
** Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
** Unsupported Mac PPC builds.
** Dynamically-linked Qt libraries work again.
** Debug messages are now simpler to add.
** Use an include path to obtain GLEW, allowing Tuvok to be more easily embedded in other applications.
Known issues with this release:
* ''Some'' JPEG-based DICOMs can not be loaded by ImageVis3D.
* The visible portion of the clip plane can become disconnected from the dataset, causing confusing interaction.
* The new 'Stack' and single-file TIFF volumes can only be read, not written.
* Multicomponent data is not supported.
ImageVis3D 0.06b supports Intel Macs 10.4 and up, Windows, and Linux. PPC Macs may run ImageVis3D but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5369
5368
2009-03-13T01:04:54Z
Tfogal
62
s/some//
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.06 beta!
While 0.06b is primarily a feature release, many bugs were fixed in this release. Changes since 0.05b include:
* New features:
** UI improvements. ImageVis3D now includes a welcome screen to let users quickly access online help, or load their data with just a single click. A `Report' dialog was added to allow users to quickly report issues to developers.
** A clipping plane was added to allow users to slice into their data. Clipping planes use the same mouse controls as normal volume interaction; hold the `Control' key (`Command' on Macs) to manipulate the clipping plane independent of the volume.
** A coordinate cross has been added to prevent users from becoming disoriented, especially when zoomed inside a dataset. Press `c' to enable / disable the cross.
** ImageVis3D can now update itself when it detects a new release.
** MIP rotations include an option to ignore LOD levels, using only the maximum resolution of the dataset.
** Many of ImageVis3D's supported file formats can now be ''written'' as well. This allows users to utilize ImageVis3D as a data conversion utility.
** ImageVis3D can now export an extracted isosurface as mesh.
** Support for new file formats:
*** `Stack' format (''.stk'' files), as output by the [http://www.moleculardevices.com/pages/software/metamorph.html Metamorph] software.
*** `TIFF Volumes', or a stack of images embedded into a single TIFF file. In particular, this allows reading [http://www.loci.wisc.edu/ome/ome-tiff.html OME-TIFF] formatted volumes.
* Bugs fixed in this release:
** Quantization fixes for data which could not previously be loaded.
** Fixed a Mac-only bug in the capturing code, which prevented movie generation.
** Many workarounds UI issues that were present with the Mac build.
** Fixed a bug in the detection of the amount of memory on Linux systems.
** Fixed a bug reading some NRRD files. ImageVis3D should now be able to read NRRDs as exported by Seg3D.
** Fixed a bug in saving both TIFF and GIF image files.
* Changes of interest to developers:
** Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
** Unsupported Mac PPC builds.
** Dynamically-linked Qt libraries work again.
** Debug messages are now simpler to add.
** Use an include path to obtain GLEW, allowing Tuvok to be more easily embedded in other applications.
Known issues with this release:
* ''Some'' JPEG-based DICOMs can not be loaded by ImageVis3D.
* The visible portion of the clip plane can become disconnected from the dataset, causing confusing interaction.
* The new 'Stack' and single-file TIFF volumes can only be read, not written.
* Multicomponent data is not supported.
ImageVis3D 0.06b supports Intel Macs 10.4 and up, Windows, and Linux. PPC Macs may run ImageVis3D but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5370
5369
2009-03-13T01:05:36Z
Tfogal
62
wording
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.06 beta!
While 0.06b is primarily a feature release, many bugs were fixed in this release. Changes since 0.05b include:
* New features:
** UI improvements. ImageVis3D now includes a welcome screen to let users quickly access online help, or load their data with just a single click. A `Report' dialog was added to allow users to quickly report issues to developers.
** A clipping plane was added to allow users to slice into their data. Clipping planes use the same mouse controls as normal volume interaction; hold the `Control' key (`Command' on Macs) to manipulate the clipping plane independent of the volume.
** A coordinate cross has been added to prevent users from becoming disoriented, especially when zoomed inside a dataset. Press `c' to enable / disable the cross.
** ImageVis3D can now update itself when it detects a new release.
** MIP rotations include an option to ignore LOD levels, using only the maximum resolution of the dataset.
** Many of ImageVis3D's supported file formats can now be ''written'' as well. This allows users to utilize ImageVis3D as a data conversion utility.
** ImageVis3D can now export an extracted isosurface as mesh.
** Support for new file formats:
*** `Stack' format (''.stk'' files), as output by the [http://www.moleculardevices.com/pages/software/metamorph.html Metamorph] software.
*** `TIFF Volumes', or a stack of images embedded into a single TIFF file. In particular, this allows reading [http://www.loci.wisc.edu/ome/ome-tiff.html OME-TIFF] formatted volumes.
* Bugs fixed in this release:
** Quantization fixes for data which could not previously be loaded.
** Fixed a Mac-only bug in the capturing code, which prevented movie generation.
** Many workarounds UI issues that were present with the Mac build.
** Fixed a bug in the detection of the amount of memory on Linux systems.
** Fixed a bug reading some NRRD files. ImageVis3D should now be able to read NRRDs as exported by Seg3D.
** Fixed a bug in saving both TIFF and GIF image files.
* Changes of interest to developers:
** Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
** Unsupported Mac PPC builds.
** Dynamically-linked Qt libraries work again.
** Debug messages are now simpler to add.
** An include path is used to obtain GLEW, allowing Tuvok to be more easily embedded in other applications.
Known issues with this release:
* ''Some'' JPEG-based DICOMs can not be loaded by ImageVis3D.
* The visible portion of the clip plane can become disconnected from the dataset, causing confusing interaction.
* The new 'Stack' and single-file TIFF volumes can only be read, not written.
* Multicomponent data is not supported.
ImageVis3D 0.06b supports Intel Macs 10.4 and up, Windows, and Linux. PPC Macs may run ImageVis3D but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5371
5370
2009-03-13T01:06:05Z
Tfogal
62
data are always plural
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.06 beta!
While 0.06b is primarily a feature release, many bugs were fixed in this release. Changes since 0.05b include:
* New features:
** UI improvements. ImageVis3D now includes a welcome screen to let users quickly access online help, or load their data with just a single click. A `Report' dialog was added to allow users to quickly report issues to developers.
** A clipping plane was added to allow users to slice into their data. Clipping planes use the same mouse controls as normal volume interaction; hold the `Control' key (`Command' on Macs) to manipulate the clipping plane independent of the volume.
** A coordinate cross has been added to prevent users from becoming disoriented, especially when zoomed inside a dataset. Press `c' to enable / disable the cross.
** ImageVis3D can now update itself when it detects a new release.
** MIP rotations include an option to ignore LOD levels, using only the maximum resolution of the dataset.
** Many of ImageVis3D's supported file formats can now be ''written'' as well. This allows users to utilize ImageVis3D as a data conversion utility.
** ImageVis3D can now export an extracted isosurface as mesh.
** Support for new file formats:
*** `Stack' format (''.stk'' files), as output by the [http://www.moleculardevices.com/pages/software/metamorph.html Metamorph] software.
*** `TIFF Volumes', or a stack of images embedded into a single TIFF file. In particular, this allows reading [http://www.loci.wisc.edu/ome/ome-tiff.html OME-TIFF] formatted volumes.
* Bugs fixed in this release:
** Quantization fixes for data which could not previously be loaded.
** Fixed a Mac-only bug in the capturing code, which prevented movie generation.
** Many workarounds UI issues that were present with the Mac build.
** Fixed a bug in the detection of the amount of memory on Linux systems.
** Fixed a bug reading some NRRD files. ImageVis3D should now be able to read NRRDs as exported by Seg3D.
** Fixed a bug in saving both TIFF and GIF image files.
* Changes of interest to developers:
** Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
** Unsupported Mac PPC builds.
** Dynamically-linked Qt libraries work again.
** Debug messages are now simpler to add.
** An include path is used to obtain GLEW, allowing Tuvok to be more easily embedded in other applications.
Known issues with this release:
* ''Some'' JPEG-based DICOMs can not be loaded by ImageVis3D.
* The visible portion of the clip plane can become disconnected from the dataset, causing confusing interaction.
* The new 'Stack' and single-file TIFF volumes can only be read, not written.
* Multicomponent data are not supported.
ImageVis3D 0.06b supports Intel Macs 10.4 and up, Windows, and Linux. PPC Macs may run ImageVis3D but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5372
5371
2009-03-13T01:06:46Z
Tfogal
62
wording
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.06 beta!
While 0.06b is primarily a feature release, many bugs were fixed in this release. Changes since 0.05b include:
* New features:
** UI improvements. ImageVis3D now includes a welcome screen to let users quickly access online help, or load their data with just a single click. A `Report' dialog was added to allow users to quickly report issues to developers.
** A clipping plane was added to allow users to slice into their data. Clipping planes use the same mouse controls as normal volume interaction; hold the `Control' key (`Command' on Macs) to manipulate the clipping plane independent of the volume.
** A coordinate cross has been added to prevent users from becoming disoriented, especially when zoomed inside a dataset. Press `c' to enable / disable the cross.
** ImageVis3D can now update itself when it detects a new release.
** MIP rotations include an option to ignore LOD levels, using only the maximum resolution of the dataset.
** Many of ImageVis3D's supported file formats can now be ''written'' as well. This allows one to utilize ImageVis3D as a data conversion utility.
** ImageVis3D can now export an extracted isosurface as mesh.
** Support for new file formats:
*** `Stack' format (''.stk'' files), as output by the [http://www.moleculardevices.com/pages/software/metamorph.html Metamorph] software.
*** `TIFF Volumes', or a stack of images embedded into a single TIFF file. In particular, this allows reading [http://www.loci.wisc.edu/ome/ome-tiff.html OME-TIFF] formatted volumes.
* Bugs fixed in this release:
** Quantization fixes for data which could not previously be loaded.
** Fixed a Mac-only bug in the capturing code, which prevented movie generation.
** Many workarounds UI issues that were present with the Mac build.
** Fixed a bug in the detection of the amount of memory on Linux systems.
** Fixed a bug reading some NRRD files. ImageVis3D should now be able to read NRRDs as exported by Seg3D.
** Fixed a bug in saving both TIFF and GIF image files.
* Changes of interest to developers:
** Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
** Unsupported Mac PPC builds.
** Dynamically-linked Qt libraries work again.
** Debug messages are now simpler to add.
** An include path is used to obtain GLEW, allowing Tuvok to be more easily embedded in other applications.
Known issues with this release:
* ''Some'' JPEG-based DICOMs can not be loaded by ImageVis3D.
* The visible portion of the clip plane can become disconnected from the dataset, causing confusing interaction.
* The new 'Stack' and single-file TIFF volumes can only be read, not written.
* Multicomponent data are not supported.
ImageVis3D 0.06b supports Intel Macs 10.4 and up, Windows, and Linux. PPC Macs may run ImageVis3D but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5373
5372
2009-03-13T01:36:02Z
Tfogal
62
emphasize more
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.06 beta!
While 0.06b is primarily a feature release, many bugs were fixed in this release. Changes since 0.05b include:
* New features:
** UI improvements. ImageVis3D now includes a welcome screen to let users quickly access online help, or load their data with just a single click. A `Report' dialog was added to allow users to quickly report issues to developers.
** A clipping plane was added to allow users to slice into their data. Clipping planes use the same mouse controls as normal volume interaction; hold the `Control' key (`Command' on Macs) to manipulate the clipping plane independent of the volume.
** A coordinate cross has been added to prevent users from becoming disoriented, especially when zoomed inside a dataset. Press `c' to enable / disable the cross.
** ImageVis3D can now update itself when it detects a new release.
** MIP rotations include an option to ignore LOD levels, using only the maximum resolution of the dataset.
** Many of ImageVis3D's supported file formats can now be ''written'' as well. This allows one to utilize ImageVis3D as a data conversion utility.
** ImageVis3D can now export an extracted isosurface as mesh.
** Support for new file formats:
*** `Stack' format (''.stk'' files), as output by the [http://www.moleculardevices.com/pages/software/metamorph.html Metamorph] software.
*** `TIFF Volumes', or a stack of images embedded into a single TIFF file. In particular, this allows reading [http://www.loci.wisc.edu/ome/ome-tiff.html OME-TIFF] formatted volumes.
* Bugs fixed in this release:
** Quantization fixes for data which could not previously be loaded.
** Fixed a Mac-only bug in the capturing code, which prevented movie generation.
** Many workarounds UI issues that were present with the Mac build.
** Fixed a bug in the detection of the amount of memory on Linux systems.
** Fixed a bug reading some NRRD files. ImageVis3D should now be able to read NRRDs as exported by Seg3D.
** Fixed a bug in saving both TIFF and GIF image files.
* Changes of interest to developers:
** Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
** Unsupported Mac PPC builds.
** Dynamically-linked Qt libraries work again.
** Debug messages are now simpler to add.
** An include path is used to obtain GLEW, allowing Tuvok to be more easily embedded in other applications.
Known issues with this release:
* '''Some''' JPEG-based DICOMs can not be loaded by ImageVis3D.
* The visible portion of the clip plane can become disconnected from the dataset, causing confusing interaction.
* The new 'Stack' and single-file TIFF volumes can only be read, not written.
* Multicomponent data are not supported.
ImageVis3D 0.06b supports Intel Macs 10.4 and up, Windows, and Linux. PPC Macs may run ImageVis3D but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5374
5373
2009-03-13T01:36:29Z
Tfogal
62
wording
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.06 beta!
While 0.06b is primarily a feature release, many bugs were fixed in this release. Changes since 0.05b include:
* New features:
** UI improvements. ImageVis3D now includes a welcome screen to let users quickly access online help, or load their data with just a single click. A `Report' dialog was added to allow users to quickly report issues to developers.
** A clipping plane was added to allow users to slice into their data. Clipping planes use the same mouse controls as normal volume interaction; hold the `Control' key (`Command' on Macs) to manipulate the clipping plane independent of the volume.
** A coordinate cross has been added to prevent users from becoming disoriented, especially when zoomed inside a dataset. Press `c' to enable / disable the cross.
** ImageVis3D can now update itself when it detects a new release.
** MIP rotations include an option to ignore LOD levels, using only the maximum resolution of the dataset.
** Many of ImageVis3D's supported file formats can now be ''written'' as well. This allows one to utilize ImageVis3D as a data conversion utility.
** ImageVis3D can now export an extracted isosurface as mesh.
** Support for new file formats:
*** `Stack' format (''.stk'' files), as output by the [http://www.moleculardevices.com/pages/software/metamorph.html Metamorph] software.
*** `TIFF Volumes', or a stack of images embedded into a single TIFF file. In particular, this allows reading [http://www.loci.wisc.edu/ome/ome-tiff.html OME-TIFF] formatted volumes.
* Bugs fixed in this release:
** Quantization fixes for data which could not previously be loaded.
** Fixed a Mac-only bug in the capturing code, which prevented movie generation.
** Many workarounds UI issues that were present with the Mac build.
** Fixed a bug in the detection of the amount of memory on Linux systems.
** Fixed a bug reading some NRRD files. ImageVis3D should now be able to read NRRDs as exported by Seg3D.
** Fixed a bug in saving both TIFF and GIF image files.
* Changes of interest to developers:
** Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
** Unsupported Mac PPC builds.
** Dynamically-linked Qt libraries work again.
** Debug messages are now simpler to add.
** An include path is used to obtain GLEW, allowing Tuvok to be more easily embedded in other applications.
Known issues with this release:
* '''Some''' JPEG-based DICOMs can not be loaded by ImageVis3D.
* The visible portion of the clip plane can become disconnected from the dataset, causing confusing interaction.
* The new 'Stack' and single-file TIFF volume file formats can only be read, not written.
* Multicomponent data are not supported.
ImageVis3D 0.06b supports Intel Macs 10.4 and up, Windows, and Linux. PPC Macs may run ImageVis3D but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5375
5374
2009-03-13T01:37:33Z
Tfogal
62
emphasize users don't care about these
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.06 beta!
While 0.06b is primarily a feature release, many bugs were fixed in this release. Changes since 0.05b include:
* New features:
** UI improvements. ImageVis3D now includes a welcome screen to let users quickly access online help, or load their data with just a single click. A `Report' dialog was added to allow users to quickly report issues to developers.
** A clipping plane was added to allow users to slice into their data. Clipping planes use the same mouse controls as normal volume interaction; hold the `Control' key (`Command' on Macs) to manipulate the clipping plane independent of the volume.
** A coordinate cross has been added to prevent users from becoming disoriented, especially when zoomed inside a dataset. Press `c' to enable / disable the cross.
** ImageVis3D can now update itself when it detects a new release.
** MIP rotations include an option to ignore LOD levels, using only the maximum resolution of the dataset.
** Many of ImageVis3D's supported file formats can now be ''written'' as well. This allows one to utilize ImageVis3D as a data conversion utility.
** ImageVis3D can now export an extracted isosurface as mesh.
** Support for new file formats:
*** `Stack' format (''.stk'' files), as output by the [http://www.moleculardevices.com/pages/software/metamorph.html Metamorph] software.
*** `TIFF Volumes', or a stack of images embedded into a single TIFF file. In particular, this allows reading [http://www.loci.wisc.edu/ome/ome-tiff.html OME-TIFF] formatted volumes.
* Bugs fixed in this release:
** Quantization fixes for data which could not previously be loaded.
** Fixed a Mac-only bug in the capturing code, which prevented movie generation.
** Many workarounds UI issues that were present with the Mac build.
** Fixed a bug in the detection of the amount of memory on Linux systems.
** Fixed a bug reading some NRRD files. ImageVis3D should now be able to read NRRDs as exported by Seg3D.
** Fixed a bug in saving both TIFF and GIF image files.
* Changes which are only of interest to developers:
** Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
** Unsupported Mac PPC builds.
** Dynamically-linked Qt libraries work again.
** Debug messages are now simpler to add.
** An include path is used to obtain GLEW, allowing Tuvok to be more easily embedded in other applications.
Known issues with this release:
* '''Some''' JPEG-based DICOMs can not be loaded by ImageVis3D.
* The visible portion of the clip plane can become disconnected from the dataset, causing confusing interaction.
* The new 'Stack' and single-file TIFF volume file formats can only be read, not written.
* Multicomponent data are not supported.
ImageVis3D 0.06b supports Intel Macs 10.4 and up, Windows, and Linux. PPC Macs may run ImageVis3D but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5376
5375
2009-03-13T01:59:21Z
Tfogal
62
dataset merging, forgot initially
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.06 beta!
While 0.06b is primarily a feature release, many bugs were fixed in this release. Changes since 0.05b include:
* New features:
** UI improvements. ImageVis3D now includes a welcome screen to let users quickly access online help, or load their data with just a single click. A `Report' dialog was added to allow users to quickly report issues to developers.
** A clipping plane was added to allow users to slice into their data. Clipping planes use the same mouse controls as normal volume interaction; hold the `Control' key (`Command' on Macs) to manipulate the clipping plane independent of the volume.
** Dataset merging. ImageVis3D's 'UVFConverter' can be used to merge multiple datasets into one, so that it may render both at once.
** A coordinate cross has been added to prevent users from becoming disoriented, especially when zoomed inside a dataset. Press `c' to enable / disable the cross.
** ImageVis3D can now update itself when it detects a new release.
** MIP rotations include an option to ignore LOD levels, using only the maximum resolution of the dataset.
** Many of ImageVis3D's supported file formats can now be ''written'' as well. This allows one to utilize ImageVis3D as a data conversion utility.
** ImageVis3D can now export an extracted isosurface as mesh.
** Support for new file formats:
*** `Stack' format (''.stk'' files), as output by the [http://www.moleculardevices.com/pages/software/metamorph.html Metamorph] software.
*** `TIFF Volumes', or a stack of images embedded into a single TIFF file. In particular, this allows reading [http://www.loci.wisc.edu/ome/ome-tiff.html OME-TIFF] formatted volumes.
* Bugs fixed in this release:
** Quantization fixes for data which could not previously be loaded.
** Fixed a Mac-only bug in the capturing code, which prevented movie generation.
** Many workarounds UI issues that were present with the Mac build.
** Fixed a bug in the detection of the amount of memory on Linux systems.
** Fixed a bug reading some NRRD files. ImageVis3D should now be able to read NRRDs as exported by Seg3D.
** Fixed a bug in saving both TIFF and GIF image files.
* Changes which are only of interest to developers:
** Large improvements to the capability and reliability of ImageVis3D's 'scripting' feature.
** Unsupported Mac PPC builds.
** Dynamically-linked Qt libraries work again.
** Debug messages are now simpler to add.
** An include path is used to obtain GLEW, allowing Tuvok to be more easily embedded in other applications.
Known issues with this release:
* '''Some''' JPEG-based DICOMs can not be loaded by ImageVis3D.
* The visible portion of the clip plane can become disconnected from the dataset, causing confusing interaction.
* The new 'Stack' and single-file TIFF volume file formats can only be read, not written.
* Multicomponent data are not supported.
ImageVis3D 0.06b supports Intel Macs 10.4 and up, Windows, and Linux. PPC Macs may run ImageVis3D but are not officially supported. Binaries are available at,
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly `developer builds' site,
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at,
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
CIBC:ImageVis3D ChangeLog0.07b
0
2632
5380
2009-03-24T20:05:58Z
Tfogal
62
release notes 0.07b
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.07 beta!
While 0.07b is primarily a feature release, many bugs were fixed as
well. Please note that the UVF file format has ''changed'' in this release,
making previously-converted data unusable! ImageVis3D will work correctly
again if one reconverts their data.
Changes since 0.06b include:
New Features
------------
* Support for RGBA datasets using the isosurface renderer.
* Added a reader for the `BOV' ("Brick of Values") files.
Bugs fixed in this release
--------------------------
* Quantizing 32bit floating point data previously failed.
* A bug was fixed which prevented exporting isosurfaces as a mesh file.
* Bugfix on 2D transfer function load.
Changes which are only of interest to developers
------------------------------------------------
* Added a define to remove most IO dependencies from Tuvok.
Known issues with this release
------------------------------
* ''Some'' JPEG-based DICOMs can not be loaded by ImageVis3D.
* The visible portion of the clip plane can become disconnected from the dataset, causing confusing interaction.
* The 'Stack' and single-file TIFF volume file formats can only be read, not written.
* Only RGBA multicomponent data are supported.
ImageVis3D 0.07b supports Intel Macs 10.4 and up, Windows, and Linux.
PPC Macs may run ImageVis3D but are not officially supported. Binaries
are available at::
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly 'developer builds' site:
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at:
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5388
5380
2009-04-17T16:20:52Z
Tfogal
62
english
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.07 beta!
While 0.07b is primarily a feature release, many bugs were fixed as
well. Please note that the UVF file format has ''changed'' in this release,
making previously-converted data unusable! ImageVis3D will work correctly
again if one reconverts their data.
Changes since 0.06b include:
New Features
------------
* Support for RGBA datasets using the isosurface renderer.
* Added a reader for `BOV' ("Brick of Values") files.
Bugs fixed in this release
--------------------------
* Quantizing 32bit floating point data previously failed.
* A bug was fixed which prevented exporting isosurfaces as a mesh file.
* Bugfix on 2D transfer function load.
Changes which are only of interest to developers
------------------------------------------------
* Added a define to remove most IO dependencies from Tuvok.
Known issues with this release
------------------------------
* ''Some'' JPEG-based DICOMs can not be loaded by ImageVis3D.
* The visible portion of the clip plane can become disconnected from the dataset, causing confusing interaction.
* The 'Stack' and single-file TIFF volume file formats can only be read, not written.
* Only RGBA multicomponent data are supported.
ImageVis3D 0.07b supports Intel Macs 10.4 and up, Windows, and Linux.
PPC Macs may run ImageVis3D but are not officially supported. Binaries
are available at::
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly 'developer builds' site:
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at:
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
CIBC:ImageVis3D:Mobile
0
2633
5383
2009-03-28T06:35:47Z
Jens
63
New page: == ImageVis3D Mobile ==
wikitext
text/x-wiki
== ImageVis3D Mobile ==
5384
5383
2009-03-28T06:36:59Z
Jens
63
/* ImageVis3D Mobile */
wikitext
text/x-wiki
== ImageVis3D Mobile ==
= The Visible Human Mobile =
5385
5384
2009-03-28T06:42:16Z
Jens
63
wikitext
text/x-wiki
= ImageVis3D Mobile =
== The Visible Human Mobile ==
=== Things to know about the user interface ===
* In the main view tab with three fingers to hide the controls
* Tap with two fingers to exit the transfer function editor mode (you can start the transfer function editor with the upper right icon)
* Tap on the box in the upper left in transfer function editor mode to toggle through the edit modes (red, green, blue, opacity)
=== Questions / suggestions ===
Send mail to jens@sci.utah.edu
File:IV3D Manual.pdf
6
2624
5394
5324
2009-04-19T23:50:08Z
Tfogal
62
uploaded a new version of "[[Image:IV3D Manual.pdf]]": new version; fixed some wording, formatting, adding a new section or two. Mostly just minor updates, needs to be reworked for the 1.0 release.
wikitext
text/x-wiki
Current WIP manual for ImageVis3D.
5396
5394
2009-04-20T00:14:11Z
Tfogal
62
uploaded a new version of "[[Image:IV3D Manual.pdf]]": Key to control clip planes was wrong.
wikitext
text/x-wiki
Current WIP manual for ImageVis3D.
CIBC:ImageVis3D ChangeLog0.1b
0
2634
5399
2009-05-21T23:32:40Z
Tfogal
62
changelog for rc1.
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 0.1b!
ImageVis3D 0.1b is a feature complete release candidate for ImageVis3D 1.0. If there are no major issues uncovered, 0.1b will become ImageVis3D 1.0 on May 29th, 2009.
While 0.1b is primarily a feature release, many bugs were fixed as
well. Please note that the format of saved 2D transfer functions
has *changed* in this release, making all previously-saved 2D
transfer functions unusable! One dimensional transfer functions were
unaffected. The ImageVis3D team will always provide an upgrade path
for incompatible version changes between *stable* releases.
Changes since 0.07b include:
New Features
------------
* Conversion operations are now considerably more verbose, making it clear that ImageVis3D has not frozen while performing a long conversion operation.
* Support for reading stacks of lossless JPEG images was added.
* More robust detection of unsupported GPUs; ImageVis3D will now bring up an error in more cases when it determines a particular GPU is not supported.
* Crash detection: ImageVis3D knows when it was shutdown uncleanly, and will prompt the user to collect extra (debug) information on the next run.
* Added the option to use spherical gradients in the 2D transfer function editor.
* The ImageVis3D manual was completely rewritten to cover all that recent ImageVis3D's have to offer.
Bugs fixed in this release
--------------------------
* Clip plane interactions were made considerably more intuitive.
* Datasets which cannot be exported will no longer show up as an option in the 'Export Data' dialog.
* Various minor memory leaks were plugged.
* Saving sequences of images now works on all platforms.
* A long standing bug loading DICOMs with embedded lossless JPEGs was fixed.
* Memory detection on Linux systems was made more reliable.
* A couple minor issues with the BOV reader were corrected.
* Fix for a memory issue on Macs which could cause memory corruption, ultimately leading to a crash.
* The clip plane is implicitly locked to the dataset when disabled. This ensures interactions with the plane disabled cannot cause the entire dataset to be clipped when enabling the plane.
Changes which are only of interest to developers
------------------------------------------------
* OpenGL resources are now cached using their OpenGL context ID, allowing a single process to reuse the same rendering engine from multiple contexts.
* A more general data access scheme was introduced, with support for simpler data models in use by the majority of applications. This allows easier embedding of the rendering engine into other applications.
* On Windows, required QTDIR(32|64) build environment variables will now work correctly with or without the trailing slash.
Known issues with this release
------------------------------
* The 'Stack' and single-file TIFF volume file formats can only be read, not written.
* RGBA is the only kind of multicomponent data supported.
* Support for PPC Macs was dropped due to perceived difficulties with third party library support.
ImageVis3D 0.1b supports Intel Macs 10.4 and up, Windows, and Linux.
Binaries are available at:
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly 'developer builds' site:
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at:
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release.
CIBC:ImageVis3D ChangeLog1.0
0
2635
5404
2009-05-29T17:22:05Z
Tfogal
62
1.0 changelog
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 1.0!
ImageVis3D is a desktop volume rendering application which was designed to visualize large data. Support is available for multiple rendering modes, such as 1D and 2D transfer functions, isosurface rendering, as well as specialized modes such as MIP and slice views. On modern systems, ImageVis3D's GPU-accelerated rendering delivers incredible performance, while compatibility options exist to allow ImageVis3D to perform adequately on older systems.
As the 1.0 release is a special occasion, we have created short movies which 'advertise' the features of ImageVis3D. They are available in multiple formats at our 'documentation' webspace:
http://software.sci.utah.edu/SCIdownload.php?item=iv3d_docs
ImageVis3D 1.0 is a bugfix release on top of the 1.0rc1 release last
week. However, some minor features were deemed appropriate for
addition. Changes since 1.0rc1 include:
New Features
------------
* Slice indicators in 2x2 view mode: the 3D view will now depict the location of the three slice views.
* Deb-format packages are available for the 1.0 release, allowing easier installation on Debian-based systems (including Ubuntu).
Bugs fixed in this release
--------------------------
* An issue was fixed which caused the 32bit Windows installers not to run on 32bit systems.
* A compatibility option was added to workaround driver bugs that the raycaster might expose, particularly on Macs. Note that this option disables clip planes for the ray caster.
Changes which are only of interest to developers
------------------------------------------------
* The qmake-based build was made more robust, correctly identifying if the Qt installation is shared or static. This makes ImageVis3D run without adding extraneous library paths when using a shared Qt.
Known issues with this release
------------------------------
* The 'Stack' and single-file TIFF volume file formats can only be read, not written.
* RGBA is the only kind of multicomponent data supported.
* For some Linux systems with nvidia GPUs, the raycaster can expose a driver issue which causes system lockups. We recommend sticking with the slice based volume renderer on Linux for this release.
ImageVis3D 1.0 supports Intel Macs 10.4 and up (10.5.7 highly
recommended), Windows, and Linux. Binaries are available at:
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly 'developer builds' site:
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at:
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5407
5404
2009-05-29T17:28:02Z
Tfogal
62
minor addition, qt issue bugfix
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 1.0!
ImageVis3D is a desktop volume rendering application which was designed to visualize large data. Support is available for multiple rendering modes, such as 1D and 2D transfer functions, isosurface rendering, as well as specialized modes such as MIP and slice views. On modern systems, ImageVis3D's GPU-accelerated rendering delivers incredible performance, while compatibility options exist to allow ImageVis3D to perform adequately on older systems.
As the 1.0 release is a special occasion, we have created short movies which 'advertise' the features of ImageVis3D. They are available in multiple formats at our 'documentation' webspace:
http://software.sci.utah.edu/SCIdownload.php?item=iv3d_docs
ImageVis3D 1.0 is a bugfix release on top of the 1.0rc1 release last
week. However, some minor features were deemed appropriate for
addition. Changes since 1.0rc1 include:
New Features
------------
* Slice indicators in 2x2 view mode: the 3D view will now depict the location of the three slice views.
* Deb-format packages are available for the 1.0 release, allowing easier installation on Debian-based systems (including Ubuntu).
Bugs fixed in this release
--------------------------
* An issue was fixed which caused the 32bit Windows installers not to run on 32bit systems.
* A compatibility option was added to workaround driver bugs that the raycaster might expose, particularly on Macs. Note that this option disables clip planes for the ray caster.
* Fixed a rare issue with Qt window initialization, which was sometimes visible on Macs.
Changes which are only of interest to developers
------------------------------------------------
* The qmake-based build was made more robust, correctly identifying if the Qt installation is shared or static. This makes ImageVis3D run without adding extraneous library paths when using a shared Qt.
Known issues with this release
------------------------------
* The 'Stack' and single-file TIFF volume file formats can only be read, not written.
* RGBA is the only kind of multicomponent data supported.
* For some Linux systems with nvidia GPUs, the raycaster can expose a driver issue which causes system lockups. We recommend sticking with the slice based volume renderer on Linux for this release.
ImageVis3D 1.0 supports Intel Macs 10.4 and up (10.5.7 highly
recommended), Windows, and Linux. Binaries are available at:
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly 'developer builds' site:
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at:
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5408
5407
2009-05-29T20:04:40Z
Jens
63
replaced code with gforge in the svn url
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 1.0!
ImageVis3D is a desktop volume rendering application which was designed to visualize large data. Support is available for multiple rendering modes, such as 1D and 2D transfer functions, isosurface rendering, as well as specialized modes such as MIP and slice views. On modern systems, ImageVis3D's GPU-accelerated rendering delivers incredible performance, while compatibility options exist to allow ImageVis3D to perform adequately on older systems.
As the 1.0 release is a special occasion, we have created short movies which 'advertise' the features of ImageVis3D. They are available in multiple formats at our 'documentation' webspace:
http://software.sci.utah.edu/SCIdownload.php?item=iv3d_docs
ImageVis3D 1.0 is a bugfix release on top of the 1.0rc1 release last
week. However, some minor features were deemed appropriate for
addition. Changes since 1.0rc1 include:
New Features
------------
* Slice indicators in 2x2 view mode: the 3D view will now depict the location of the three slice views.
* Deb-format packages are available for the 1.0 release, allowing easier installation on Debian-based systems (including Ubuntu).
Bugs fixed in this release
--------------------------
* An issue was fixed which caused the 32bit Windows installers not to run on 32bit systems.
* A compatibility option was added to workaround driver bugs that the raycaster might expose, particularly on Macs. Note that this option disables clip planes for the ray caster.
* Fixed a rare issue with Qt window initialization, which was sometimes visible on Macs.
Changes which are only of interest to developers
------------------------------------------------
* The qmake-based build was made more robust, correctly identifying if the Qt installation is shared or static. This makes ImageVis3D run without adding extraneous library paths when using a shared Qt.
Known issues with this release
------------------------------
* The 'Stack' and single-file TIFF volume file formats can only be read, not written.
* RGBA is the only kind of multicomponent data supported.
* For some Linux systems with nvidia GPUs, the raycaster can expose a driver issue which causes system lockups. We recommend sticking with the slice based volume renderer on Linux for this release.
ImageVis3D 1.0 supports Intel Macs 10.4 and up (10.5.7 highly
recommended), Windows, and Linux. Binaries are available at:
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly 'developer builds' site:
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at:
https://gforge.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
CIBC:ImageVis3D
0
2614
5413
5412
2009-06-09T20:20:16Z
Tfogal
62
/* Development Information */ preparing for 1.1 release
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
==== Current Development Focus ====
* 1.2
** Goals to be discussed during the Thursday, June 11th meeting.
5422
5413
2009-07-09T19:26:37Z
Jens
63
/* Getting ImageVis3D */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. The current first version comes with a set of preloaded datasets for you to view and test, this version is primarily meant as a test program where we expect you to give us feedback and feature requests. The next version will allow you to transfer your own data directly from the desktop version of ImageVis3D to your mobile device and even from one device to the other. Currently, we support exclusively the new iPhone 3Gs, please download the application via the Apple App Store. More information can be found [[ImageVis3DMobile|here]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
==== Current Development Focus ====
* 1.2
** Goals to be discussed during the Thursday, June 11th meeting.
5424
5422
2009-07-10T16:10:42Z
Jens
63
/* ImageVis3D Mobile */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. The current first version comes with a set of preloaded datasets for you to view and test, this version is primarily meant as a test program where we expect you to give us feedback and feature requests. The next version will allow you to transfer your own data directly from the desktop version of ImageVis3D to your mobile device and even from one device to the other. Currently, we support all iPod touches and iPhones (including the new iPhone 3Gs), please download the application via the Apple App Store. More information can be found [[ImageVis3DMobile|here]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
==== Current Development Focus ====
* 1.2
** Goals to be discussed during the Thursday, June 11th meeting.
5428
5424
2009-07-10T16:15:18Z
Jens
63
/* ImageVis3D Mobile */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. The current first version comes with a set of preloaded datasets for you to view and test, this version is primarily meant as a test program where we expect you to give us feedback and feature requests. The next version will allow you to transfer your own data directly from the desktop version of ImageVis3D to your mobile device and even from one device to another. Currently, we support all iPod touches and iPhones (including the new iPhone 3Gs), please download the application via the Apple App Store. More information and a quickstart guide can be found [[ImageVis3DMobile|here]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
==== Current Development Focus ====
* 1.2
** Goals to be discussed during the Thursday, June 11th meeting.
5430
5428
2009-07-25T18:56:00Z
Jens
63
/* ImageVis3D Mobile */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D mobile allow can transfer your own data directly from the desktop to your mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs), please download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quickstart guide can be found [[ImageVis3DMobile|here]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
==== Current Development Focus ====
* 1.2
** Goals to be discussed during the Thursday, June 11th meeting.
5434
5430
2009-07-27T17:45:35Z
Tfogal
62
/* ImageVis3D Mobile */ minor fixes.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
==== Current Development Focus ====
* 1.2
** Goals to be discussed during the Thursday, June 11th meeting.
5435
5434
2009-07-27T17:46:36Z
Tfogal
62
/* Current Development Focus */ update
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
5436
5435
2009-07-27T17:48:18Z
Tfogal
62
adding long term dev ideas. linking to changelog I forgot earlier.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d here] or the latest build [http://software.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1.1]] -- (''June, 2009'')
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5440
5436
2009-08-24T12:54:21Z
Jens
63
fixed links to binaries
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://www.sci.utah.edu/download/imagevis3d.html here] or the latest build [http://www.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1.1]] -- (''June, 2009'')
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5441
5440
2009-08-25T07:34:09Z
Jens
63
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://www.sci.utah.edu/download/imagevis3d.html here] or the latest build [http://www.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. As we are using C++ tr1 functionality you need to download and install the VC2008 feature pack on windows systems.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1.1]] -- (''June, 2009'')
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5442
5441
2009-08-25T08:06:44Z
Jens
63
/* Compile it Yourself */ added install instructions for vs sp and vs fp
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://www.sci.utah.edu/download/imagevis3d.html here] or the latest build [http://www.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feetback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1.1]] -- (''June, 2009'')
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5460
5442
2009-10-19T00:40:02Z
Tfogal
62
/* Video Tutorials */ typo
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://www.sci.utah.edu/download/imagevis3d.html here] or the latest build [http://www.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [https://gforge.sci.utah.edu/gf/project/imagevis3d/docman/?&subdir=23&feedback=Successfully%20added ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feedback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1.1]] -- (''June, 2009'')
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5461
5460
2009-10-19T00:41:07Z
Tfogal
62
/* Manual */ fix link to manua
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://www.sci.utah.edu/download/imagevis3d.html here] or the latest build [http://www.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://software.sci.utah.edu/mailinglists.html iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [http://www.sci.utah.edu/images/docs/imagevis3d.pdf ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feedback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1.1]] -- (''June, 2009'')
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5462
5461
2009-10-30T17:55:09Z
Tfogal
62
/* Join the Community */ fix link
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://www.sci.utah.edu/download/imagevis3d.html here] or the latest build [http://www.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://www.sci.utah.edu/lists/ iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [http://www.sci.utah.edu/images/docs/imagevis3d.pdf ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feedback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Past Release Archive ====
* [[CIBC:ImageVis3D_ChangeLog0.00]] -- mockup (''April, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.01a]] -- rendering (''September, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.02b]] -- workshop (''October, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.03b]] -- "Santa" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.04b]] -- "Fireworks" (''December, 2008'')
* [[CIBC:ImageVis3D_ChangeLog0.05b]] -- "Biblical Magi" (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.051b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.052b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.054b]] -- (''January, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.06b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.07b]] -- (''March, 2009'')
* [[CIBC:ImageVis3D_ChangeLog0.1b]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.0]] -- (''May, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1]] -- (''June, 2009'')
* [[CIBC:ImageVis3D_ChangeLog1.1.1]] -- (''June, 2009'')
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
CIBC:ImageVis3D ChangeLog1.1
0
2636
5414
2009-06-09T20:24:03Z
Tfogal
62
changelog for 1.1
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 1.1!
ImageVis3D is a desktop volume rendering application which was designed
to visualize large data. Support is available for multiple rendering
modes, such as 1D and 2D transfer functions, isosurface rendering,
as well as specialized modes such as MIP and slice views. On modern
systems, ImageVis3D's GPU-accelerated rendering delivers incredible
performance, while compatibility options exist to allow ImageVis3D to
perform adequately on older systems.
While ImageVis3D 1.1 is primarily a feature release, important bugs
were fixed. Changes since 1.0 include:
New Features
------------
* A converter for Fraunhofer EZRT was contributed by Andre Liebscher. Thanks, Andre!
* The 'minimum framerate' setting is now honored; ImageVis3D will now render higher-resolution data if they exist in cache and your system can render the data at the desired framerate.
* The 'a' key now changes rotation modes; see the manual for details.
* 'pageup' and 'pagedown' now provide fine-grained control over the zoom factor.
* One can now zoom in the 2D transfer function editor.
Bugs fixed in this release
--------------------------
* Full-color datasets with multiple bricks would render incorrectly with the slice-based renderer.
* A bug was fixed which caused the crash detection feature not to disable itself once enabled.
* Built-in URLs for help/other resources were updated to account for the new SCI website.
Changes which are only of interest to developers
------------------------------------------------
* The windows project file now disables many of the warnings in the included third party libraries.
* Tuvok's IO has been separated into a separate repository and linked via a subversion external.
Known issues with this release
------------------------------
* The 'Stack' single-file TIFF volumes, and BOV file formats can only be read, not written.
* RGBA is the only kind of multicomponent data supported.
* For some Linux systems with nvidia GPUs, the raycaster can expose a driver issue which causes system lockups. We recommend sticking with the slice based volume renderer on Linux for this release.
* Full-color datasets do not display a proper histogram in the transfer function editors.
ImageVis3D 1.1 supports Intel Macs 10.4 and up (10.5.7 highly
recommended), Windows, and Linux. Binaries are available at:
http://software.sci.utah.edu/SCIdownload.php?item=imagevis3d
the nightly 'developer builds' site:
http://software.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at:
https://code.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5415
5414
2009-06-09T20:26:04Z
Tfogal
62
fix URLs
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 1.1!
ImageVis3D is a desktop volume rendering application which was designed
to visualize large data. Support is available for multiple rendering
modes, such as 1D and 2D transfer functions, isosurface rendering,
as well as specialized modes such as MIP and slice views. On modern
systems, ImageVis3D's GPU-accelerated rendering delivers incredible
performance, while compatibility options exist to allow ImageVis3D to
perform adequately on older systems.
While ImageVis3D 1.1 is primarily a feature release, important bugs
were fixed. Changes since 1.0 include:
New Features
------------
* A converter for Fraunhofer EZRT was contributed by Andre Liebscher. Thanks, Andre!
* The 'minimum framerate' setting is now honored; ImageVis3D will now render higher-resolution data if they exist in cache and your system can render the data at the desired framerate.
* The 'a' key now changes rotation modes; see the manual for details.
* 'pageup' and 'pagedown' now provide fine-grained control over the zoom factor.
* One can now zoom in the 2D transfer function editor.
Bugs fixed in this release
--------------------------
* Full-color datasets with multiple bricks would render incorrectly with the slice-based renderer.
* A bug was fixed which caused the crash detection feature not to disable itself once enabled.
* Built-in URLs for help/other resources were updated to account for the new SCI website.
Changes which are only of interest to developers
------------------------------------------------
* The windows project file now disables many of the warnings in the included third party libraries.
* Tuvok's IO has been separated into a separate repository and linked via a subversion external.
Known issues with this release
------------------------------
* The 'Stack' single-file TIFF volumes, and BOV file formats can only be read, not written.
* RGBA is the only kind of multicomponent data supported.
* For some Linux systems with nvidia GPUs, the raycaster can expose a driver issue which causes system lockups. We recommend sticking with the slice based volume renderer on Linux for this release.
* Full-color datasets do not display a proper histogram in the transfer function editors.
ImageVis3D 1.1 supports Intel Macs 10.4 and up (10.5.7 highly
recommended), Windows, and Linux. Binaries are available at:
http://www.sci.utah.edu/download/imagevis3d.html
the nightly 'developer builds' site:
http://www.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at:
https://gforge.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5416
5415
2009-06-09T20:26:35Z
Tfogal
62
wording
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 1.1!
ImageVis3D is a desktop volume rendering application which was designed
to visualize large data. Support is available for multiple rendering
modes, such as 1D and 2D transfer functions, isosurface rendering,
as well as specialized modes such as MIP and slice views. On modern
systems, ImageVis3D's GPU-accelerated rendering delivers incredible
performance, while compatibility options exist to allow ImageVis3D to
perform adequately on older systems.
While ImageVis3D 1.1 is primarily a feature release, important bugs
were fixed. Changes since 1.0 include:
New Features
------------
* A converter for Fraunhofer EZRT data was contributed by Andre Liebscher. Thanks, Andre!
* The 'minimum framerate' setting is now honored; ImageVis3D will now render higher-resolution data if they exist in cache and your system can render the data at the desired framerate.
* The 'a' key now changes rotation modes; see the manual for details.
* 'pageup' and 'pagedown' now provide fine-grained control over the zoom factor.
* One can now zoom in the 2D transfer function editor.
Bugs fixed in this release
--------------------------
* Full-color datasets with multiple bricks would render incorrectly with the slice-based renderer.
* A bug was fixed which caused the crash detection feature not to disable itself once enabled.
* Built-in URLs for help/other resources were updated to account for the new SCI website.
Changes which are only of interest to developers
------------------------------------------------
* The windows project file now disables many of the warnings in the included third party libraries.
* Tuvok's IO has been separated into a separate repository and linked via a subversion external.
Known issues with this release
------------------------------
* The 'Stack' single-file TIFF volumes, and BOV file formats can only be read, not written.
* RGBA is the only kind of multicomponent data supported.
* For some Linux systems with nvidia GPUs, the raycaster can expose a driver issue which causes system lockups. We recommend sticking with the slice based volume renderer on Linux for this release.
* Full-color datasets do not display a proper histogram in the transfer function editors.
ImageVis3D 1.1 supports Intel Macs 10.4 and up (10.5.7 highly
recommended), Windows, and Linux. Binaries are available at:
http://www.sci.utah.edu/download/imagevis3d.html
the nightly 'developer builds' site:
http://www.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at:
https://gforge.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5417
5416
2009-06-09T20:27:44Z
Tfogal
62
spell André's name correctly.
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 1.1!
ImageVis3D is a desktop volume rendering application which was designed
to visualize large data. Support is available for multiple rendering
modes, such as 1D and 2D transfer functions, isosurface rendering,
as well as specialized modes such as MIP and slice views. On modern
systems, ImageVis3D's GPU-accelerated rendering delivers incredible
performance, while compatibility options exist to allow ImageVis3D to
perform adequately on older systems.
While ImageVis3D 1.1 is primarily a feature release, important bugs
were fixed. Changes since 1.0 include:
New Features
------------
* A converter for Fraunhofer EZRT data was contributed by André Liebscher. Thanks, André!
* The 'minimum framerate' setting is now honored; ImageVis3D will now render higher-resolution data if they exist in cache and your system can render the data at the desired framerate.
* The 'a' key now changes rotation modes; see the manual for details.
* 'pageup' and 'pagedown' now provide fine-grained control over the zoom factor.
* One can now zoom in the 2D transfer function editor.
Bugs fixed in this release
--------------------------
* Full-color datasets with multiple bricks would render incorrectly with the slice-based renderer.
* A bug was fixed which caused the crash detection feature not to disable itself once enabled.
* Built-in URLs for help/other resources were updated to account for the new SCI website.
Changes which are only of interest to developers
------------------------------------------------
* The windows project file now disables many of the warnings in the included third party libraries.
* Tuvok's IO has been separated into a separate repository and linked via a subversion external.
Known issues with this release
------------------------------
* The 'Stack' single-file TIFF volumes, and BOV file formats can only be read, not written.
* RGBA is the only kind of multicomponent data supported.
* For some Linux systems with nvidia GPUs, the raycaster can expose a driver issue which causes system lockups. We recommend sticking with the slice based volume renderer on Linux for this release.
* Full-color datasets do not display a proper histogram in the transfer function editors.
ImageVis3D 1.1 supports Intel Macs 10.4 and up (10.5.7 highly
recommended), Windows, and Linux. Binaries are available at:
http://www.sci.utah.edu/download/imagevis3d.html
the nightly 'developer builds' site:
http://www.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at:
https://gforge.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5418
5417
2009-06-09T20:40:29Z
Tfogal
62
other formats can't be written.
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 1.1!
ImageVis3D is a desktop volume rendering application which was designed
to visualize large data. Support is available for multiple rendering
modes, such as 1D and 2D transfer functions, isosurface rendering,
as well as specialized modes such as MIP and slice views. On modern
systems, ImageVis3D's GPU-accelerated rendering delivers incredible
performance, while compatibility options exist to allow ImageVis3D to
perform adequately on older systems.
While ImageVis3D 1.1 is primarily a feature release, important bugs
were fixed. Changes since 1.0 include:
New Features
------------
* A converter for Fraunhofer EZRT data was contributed by André Liebscher. Thanks, André!
* The 'minimum framerate' setting is now honored; ImageVis3D will now render higher-resolution data if they exist in cache and your system can render the data at the desired framerate.
* The 'a' key now changes rotation modes; see the manual for details.
* 'pageup' and 'pagedown' now provide fine-grained control over the zoom factor.
* One can now zoom in the 2D transfer function editor.
Bugs fixed in this release
--------------------------
* Full-color datasets with multiple bricks would render incorrectly with the slice-based renderer.
* A bug was fixed which caused the crash detection feature not to disable itself once enabled.
* Built-in URLs for help/other resources were updated to account for the new SCI website.
Changes which are only of interest to developers
------------------------------------------------
* The windows project file now disables many of the warnings in the included third party libraries.
* Tuvok's IO has been separated into a separate repository and linked via a subversion external.
Known issues with this release
------------------------------
* The 'Stack' ("stk"), single-file TIFF volume, Fraunhofer RZRT ("rek") and Brick-of-values ("BOV") file formats can only be read, not written.
* RGBA is the only kind of multicomponent data supported.
* For some Linux systems with nvidia GPUs, the raycaster can expose a driver issue which causes system lockups. We recommend sticking with the slice based volume renderer on Linux for this release.
* Full-color datasets do not display a proper histogram in the transfer function editors.
ImageVis3D 1.1 supports Intel Macs 10.4 and up (10.5.7 highly
recommended), Windows, and Linux. Binaries are available at:
http://www.sci.utah.edu/download/imagevis3d.html
the nightly 'developer builds' site:
http://www.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at:
https://gforge.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5419
5418
2009-06-10T00:42:07Z
Tfogal
62
typo
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D 1.1!
ImageVis3D is a desktop volume rendering application which was designed
to visualize large data. Support is available for multiple rendering
modes, such as 1D and 2D transfer functions, isosurface rendering,
as well as specialized modes such as MIP and slice views. On modern
systems, ImageVis3D's GPU-accelerated rendering delivers incredible
performance, while compatibility options exist to allow ImageVis3D to
perform adequately on older systems.
While ImageVis3D 1.1 is primarily a feature release, important bugs
were fixed. Changes since 1.0 include:
New Features
------------
* A converter for Fraunhofer EZRT data was contributed by André Liebscher. Thanks, André!
* The 'minimum framerate' setting is now honored; ImageVis3D will now render higher-resolution data if they exist in cache and your system can render the data at the desired framerate.
* The 'a' key now changes rotation modes; see the manual for details.
* 'pageup' and 'pagedown' now provide fine-grained control over the zoom factor.
* One can now zoom in the 2D transfer function editor.
Bugs fixed in this release
--------------------------
* Full-color datasets with multiple bricks would render incorrectly with the slice-based renderer.
* A bug was fixed which caused the crash detection feature not to disable itself once enabled.
* Built-in URLs for help/other resources were updated to account for the new SCI website.
Changes which are only of interest to developers
------------------------------------------------
* The windows project file now disables many of the warnings in the included third party libraries.
* Tuvok's IO has been separated into a separate repository and linked via a subversion external.
Known issues with this release
------------------------------
* The 'Stack' ("stk"), single-file TIFF volume, Fraunhofer EZRT ("rek") and Brick-of-values ("BOV") file formats can only be read, not written.
* RGBA is the only kind of multicomponent data supported.
* For some Linux systems with nvidia GPUs, the raycaster can expose a driver issue which causes system lockups. We recommend sticking with the slice based volume renderer on Linux for this release.
* Full-color datasets do not display a proper histogram in the transfer function editors.
ImageVis3D 1.1 supports Intel Macs 10.4 and up (10.5.7 highly
recommended), Windows, and Linux. Binaries are available at:
http://www.sci.utah.edu/download/imagevis3d.html
the nightly 'developer builds' site:
http://www.sci.utah.edu/devbuilds/imagevis3d/
or directly from the subversion repository at:
https://gforge.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
CIBC:ImageVis3D ChangeLog1.1.1
0
2637
5420
2009-06-26T23:55:02Z
Tfogal
62
New page: The ImageVis3D team is proud to announce the release of ImageVis3D 1.1.1! ImageVis3D is a desktop volume rendering application which was designed to visualize large data. Support is...
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D
1.1.1!
ImageVis3D is a desktop volume rendering application which was designed
to visualize large data. Support is available for multiple rendering
modes, such as 1D and 2D transfer functions, isosurface rendering,
as well as specialized modes such as MIP and slice views. On modern
systems, ImageVis3D's GPU-accelerated rendering delivers incredible
performance, while compatibility options exist to allow ImageVis3D to
perform adequately on older systems.
While ImageVis3D 1.1.1 is primarily a bugfix release, some new features
were added. Changes since 1.1 include:
New Features
------------
* A new 'basic' mode was added to the 2D transfer function editor.
This mode more closely matches the look and feel of editors from
earlier SCI tools.
Users may click the 'Expert' button to use the earlier editor.
* Diffuse lighting was changed to use a two-sided lighting model (the
volume is now backlit in addition to front-lit).
* Added keyboard shortcuts for most operations in ImageVis3D.
* The mouse wheel can now be inverted in the settings dialog.
Bugs fixed in this release
--------------------------
* Detection of out of memory conditions was enhanced. ImageVis3D
will notice when the rendering library is running out of memory,
even if it hasn't hit the user-set limit, and adjust memory usage
accordingly.
* Fixed a bug which prevented the stereo widget from being closed
when no dataset was loaded.
* Another round of updates for URLs as they find more permanent homes
on the new SCI website.
* Workaround for a Qt bug that caused events to be delivered while a
window was being destroyed.
* Scaling issues were fixed in the 2D transfer function editor.
Changes which are only of interest to developers
------------------------------------------------
There were no changes of note for this category.
Known issues with this release
------------------------------
* The 'Stack' ("stk"), single-file TIFF volume, Fraunhofer EZRT
("rek") and Brick-of-values ("BOV") file formats can only be read,
not written.
* RGBA is the only kind of multicomponent data supported.
* For some Linux systems with nvidia GPUs, the raycaster can expose
a driver issue which causes system lockups. We recommend sticking
with the slice based volume renderer on Linux for this release.
* Full-color datasets do not display a proper histogram in the
transfer function editors.
ImageVis3D 1.1.1 supports Intel Macs 10.4 and up (10.5.7 highly
recommended), Windows, and Linux. Binaries are available at:
http://www.sci.utah.edu/download/imagevis3d.html
the nightly 'developer builds' site:
http://www.sci.utah.edu/devbuilds/imagevis3d/
or you can get the source directly from our subversion repository:
https://gforge.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
5421
5420
2009-06-26T23:57:36Z
Tfogal
62
fix formatting.
wikitext
text/x-wiki
The ImageVis3D team is proud to announce the release of ImageVis3D
1.1.1!
ImageVis3D is a desktop volume rendering application which was designed to visualize large data. Support is available for multiple rendering modes, such as 1D and 2D transfer functions, isosurface rendering, as well as specialized modes such as MIP and slice views. On modern systems, ImageVis3D's GPU-accelerated rendering delivers incredible performance, while compatibility options exist to allow ImageVis3D to perform adequately on older systems.
While ImageVis3D 1.1.1 is primarily a bugfix release, some new features were added. Changes since 1.1 include:
New Features
------------
* A new 'basic' mode was added to the 2D transfer function editor. This mode more closely matches the look and feel of editors from earlier SCI tools. Users may click the 'Expert' button to use the earlier editor.
* Diffuse lighting was changed to use a two-sided lighting model (the volume is now backlit in addition to front-lit).
* Added keyboard shortcuts for most operations in ImageVis3D.
* The mouse wheel can now be inverted in the settings dialog.
Bugs fixed in this release
--------------------------
* Detection of out of memory conditions was enhanced. ImageVis3D will notice when the rendering library is running out of memory, even if it hasn't hit the user-set limit, and adjust memory usage accordingly.
* Fixed a bug which prevented the stereo widget from being closed when no dataset was loaded.
* Another round of updates for URLs as they find more permanent homes on the new SCI website.
* Workaround for a Qt bug that caused events to be delivered while a window was being destroyed.
* Scaling issues were fixed in the 2D transfer function editor.
Changes which are only of interest to developers
------------------------------------------------
There were no changes of note for this category.
Known issues with this release
------------------------------
* The 'Stack' ("stk"), single-file TIFF volume, Fraunhofer EZRT ("rek") and Brick-of-values ("BOV") file formats can only be read, not written.
* RGBA is the only kind of multicomponent data supported.
* For some Linux systems with nvidia GPUs, the raycaster can expose a driver issue which causes system lockups. We recommend sticking with the slice based volume renderer on Linux for this release.
* Full-color datasets do not display a proper histogram in the transfer function editors.
ImageVis3D 1.1.1 supports Intel Macs 10.4 and up (10.5.7 highly
recommended), Windows, and Linux. Binaries are available at:
http://www.sci.utah.edu/download/imagevis3d.html
the nightly 'developer builds' site:
http://www.sci.utah.edu/devbuilds/imagevis3d/
or you can get the source directly from our subversion repository:
https://gforge.sci.utah.edu/svn/imagevis3d
We look forward to your feedback on this release. Best,
- The ImageVis3D team.
ImageVis3DMobile
0
2638
5423
2009-07-09T19:31:55Z
Jens
63
New page: === ImageVis3D Mobile === ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. The current first version comes...
wikitext
text/x-wiki
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. The current first version comes with a set of preloaded datasets for you to view and test, this version is primarily meant as a test program where we expect you to give us feedback and feature requests. The next version will allow you to transfer your own data directly from the desktop version of ImageVis3D to your mobile device and even from one device to the other. Currently, we support exclusively the new iPhone 3Gs, please download the application via the Apple App Store.
=== Quickstart Instructions ===
ImageVis3D mobile's main screen displays your volume in the center surrounded by four buttons. To Interact with the data simply use one finger to rotate and two finders to zoom in or out. The four buttons can be hidden and shown by touching the screen with three fingers. With the top left button the datasets are toggled, the top right button starts the transfer function editor, the button in the lower left corner toggles the bounding box display while the lower left button toggle volumetric lighting computations. In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
5425
5423
2009-07-10T16:12:59Z
Jens
63
wikitext
text/x-wiki
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. The current first version comes with a set of preloaded datasets for you to view and test, this version is primarily meant as a test program where we expect you to give us feedback and feature requests. The next version will allow you to transfer your own data directly from the desktop version of ImageVis3D to your mobile device and even from one device to the other. Currently, we support all iPod touches and iPhones (including the new iPhone 3Gs), please download the application via the Apple App Store.
=== Quickstart Instructions ===
ImageVis3D mobile's main screen displays your volume in the center surrounded by four buttons. To Interact with the data simply use one finger to rotate and two finders to zoom in or out. The four buttons can be hidden and shown by touching the screen with three fingers. With the top left button the datasets are toggled, the top right button starts the transfer function editor, the button in the lower left corner toggles the bounding box display while the lower left button toggle volumetric lighting computations on devices that support OpenGL 2.0 (currently only the iPhone 3Gs supports this) on all other devices this button toggles auto-rotation. In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
5426
5425
2009-07-10T16:13:49Z
Jens
63
wikitext
text/x-wiki
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. The current first version comes with a set of preloaded datasets for you to view and test, this version is primarily meant as a test program where we expect you to give us feedback and feature requests. Currently, we support all iPod touches and iPhones (including the new iPhone 3Gs), please download the application via the Apple App Store.
=== Quickstart Instructions ===
ImageVis3D mobile's main screen displays your volume in the center surrounded by four buttons. To Interact with the data simply use one finger to rotate and two finders to zoom in or out. The four buttons can be hidden and shown by touching the screen with three fingers. With the top left button the datasets are toggled, the top right button starts the transfer function editor, the button in the lower left corner toggles the bounding box display while the lower left button toggle volumetric lighting computations on devices that support OpenGL 2.0 (currently only the iPhone 3Gs supports this) on all other devices this button toggles auto-rotation. In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
=== Upcoming features ===
The next version will allow you to transfer your own data directly from the desktop version of ImageVis3D to your mobile device and even from one device to the other.
5427
5426
2009-07-10T16:14:12Z
Jens
63
/* Upcoming features */
wikitext
text/x-wiki
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. The current first version comes with a set of preloaded datasets for you to view and test, this version is primarily meant as a test program where we expect you to give us feedback and feature requests. Currently, we support all iPod touches and iPhones (including the new iPhone 3Gs), please download the application via the Apple App Store.
=== Quickstart Instructions ===
ImageVis3D mobile's main screen displays your volume in the center surrounded by four buttons. To Interact with the data simply use one finger to rotate and two finders to zoom in or out. The four buttons can be hidden and shown by touching the screen with three fingers. With the top left button the datasets are toggled, the top right button starts the transfer function editor, the button in the lower left corner toggles the bounding box display while the lower left button toggle volumetric lighting computations on devices that support OpenGL 2.0 (currently only the iPhone 3Gs supports this) on all other devices this button toggles auto-rotation. In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
=== Upcoming features ===
The next version will allow you to transfer your own data directly from the desktop version of ImageVis3D to your mobile device and even from one device to another.
5431
5427
2009-07-25T19:11:18Z
Jens
63
wikitext
text/x-wiki
== ImageVis3D Mobile ==
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D mobile allow can transfer your own data directly from the desktop to your mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs), please download the application via the Apple App Store or request a pre-release from the ImageVis3D team.
== Quickstart Instructions ==
When you start ImageVis3D mobile it will automatically load your last data set (or one of the demo datasets if you start it for the first time). To Interact with the data simply use one finger to rotate and two finders to zoom in or out. The four buttons on the bootm from left to right allow view your data, switch the data set and upload new data from your desktop version of Imagevis3D, edit the transfer function, and change settings (note that ligthing is only avaliable on the new iPhone 3GS).
==== Uploading Data ====
To upload a new dataset to the iPhone/iPod touch switch to the dataset selection view (2nd icon on the bottom), scroll down to the bottom of the page and select "recieve data", in the next screen enter the IP adress of the desktop machine that runns ImageVis3D and a port you specified in that desktop next select "Start Transfer". On the desktop machine you first need to enable the ImageVis3D mobile features in the Settings under "Memory". After turning the ImageVis3D Mobile support on you should see a new option in the "File"-menu "Transfer To ImageVis3D Mobile Device". Now open the dataset you want to transfer and select this new option. A dialog box opens. If you are transferinf data for the first time you should doublecheck the network port if you have a firewall installed (for firewall configuration: ImageVis3D uses a single TCP port for the entire communication, the default port is 22). After that you can click start, this will start the data set conversion process first and then run the netwerk server to which your mobile device well tehn connect. Note: on windows you may see get a message from the build in firewall programm whenn you first cklick start aksing you to allow or deny ImageVis3D access to the network, in this dialog allow ImageVis3D access and then CLICK ON START once more to actually start the network server as the firewall has block ImageVis3D's first attempt to launch the server.
==== The Transferfunction Editor ====
In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
== Upcoming features ==
The next version will allow you to transfer data directly from one deive mobile device to another.
5432
5431
2009-07-27T16:58:22Z
Jens
63
/* Uploading Data */
wikitext
text/x-wiki
== ImageVis3D Mobile ==
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D mobile allow can transfer your own data directly from the desktop to your mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs), please download the application via the Apple App Store or request a pre-release from the ImageVis3D team.
== Quickstart Instructions ==
When you start ImageVis3D mobile it will automatically load your last data set (or one of the demo datasets if you start it for the first time). To Interact with the data simply use one finger to rotate and two finders to zoom in or out. The four buttons on the bootm from left to right allow view your data, switch the data set and upload new data from your desktop version of Imagevis3D, edit the transfer function, and change settings (note that ligthing is only avaliable on the new iPhone 3GS).
==== Uploading Data ====
To upload a new dataset to the iPhone/iPod touch switch to the dataset selection view (2nd icon on the bottom), scroll down to the bottom of the page and select "recieve data", in the next screen enter the IP adress of the desktop machine that runs ImageVis3D and a port you specified in that desktop next select "Start Transfer". On the desktop machine you first need to enable the ImageVis3D mobile features in the Settings under "Memory". After turning the ImageVis3D Mobile support on you should see a new option in the "File"-menu "Transfer To ImageVis3D Mobile Device". Now open the dataset you want to transfer and select this new option. A dialog box opens. If you are transferring data for the first time you should doublecheck the network port if you have a firewall installed (for firewall configuration: ImageVis3D uses a single TCP port for the entire communication, the default port is 22). After that you can click start, this will start the data set conversion process first and then run the netwerk server to which your mobile device well tehn connect. Note: on windows you may see get a message from the build in firewall programm when you first click start asking you to allow or deny ImageVis3D access to the network, in this dialog allow ImageVis3D access and then CLICK ON START once more to actually start the network server as the firewall has block ImageVis3D's first attempt to launch the server.
==== The Transferfunction Editor ====
In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
== Upcoming features ==
The next version will allow you to transfer data directly from one deive mobile device to another.
5433
5432
2009-07-27T17:43:55Z
Tfogal
62
formatting, wording
wikitext
text/x-wiki
ImageVis3D Mobile is a volume rendering application for handheld devices.
= ImageVis3D Mobile =
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile allow can transfer your own data directly from a desktop to your mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs). You can download the application via the Apple App Store or request a pre-release from the ImageVis3D team.
== Quickstart Instructions ==
When you start ImageVis3D Mobile it will automatically load your last data set (or one of the demo datasets if you start it for the first time). To interact with the data simply use one finger to rotate and two finders to zoom in or out. The four buttons on the bottom (from left to right) allow you to view your data; switch the data set and upload new data from your desktop version of Imagevis3D; edit the transfer function; and change settings (note that lighting is only available on the new iPhone 3GS).
== Uploading Data ==
To upload a new dataset to the iPhone/iPod touch switch to the dataset selection view (second icon on the bottom), scroll down to the bottom of the page and select "receive data". In the next screen enter the IP address of the desktop machine that runs ImageVis3D and a port you specified in that desktop. Finally select "Start Transfer". On the desktop side you first need to enable the ImageVis3D Mobile features in the Settings, under "Memory". After turning the ImageVis3D Mobile support on you should see a new option in the "File"-menu named "Transfer To ImageVis3D Mobile Device". Now open the dataset you want to transfer and select this new option. A dialog box opens. If you are transferring data for the first time you should double check the network port is a good one; if you have a firewall installed, note that ImageVis3D uses a single TCP port for the entire communication, (22 by default). After that click start to begin the data set conversion process and then run the network server to which your mobile device well then connect.
=== Windows Firewall ===
On Windows you may see a message from the built-in firewall asking you to allow or deny ImageVis3D access to the network. You must allow ImageVis3D access for data transfer to work. After allowing ImageVis3D access, you must ''click on start again'' to actually start the network server.
== The Transfer Function Editor ==
In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
== Upcoming features ==
The next version will allow you to transfer data directly from one mobile device to another.
5438
5433
2009-07-29T21:00:57Z
Jens
63
wikitext
text/x-wiki
ImageVis3D Mobile is a volume rendering application for handheld devices.
= ImageVis3D Mobile =
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile allow can transfer your own data directly from a desktop to your mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs). You can download the application via the Apple App Store or request a pre-release from the ImageVis3D team.
== Quickstart Instructions ==
When you start ImageVis3D Mobile it will automatically load your last data set (or one of the demo datasets if you start it for the first time). To interact with the data simply use one finger to rotate and two finders to zoom in or out. The four buttons on the bottom (from left to right) allow you to view your data; switch the data set and upload new data from your desktop version of Imagevis3D; edit the transfer function; and change settings (note that lighting is only available on the new iPhone 3GS).
== Uploading Data ==
To upload a new dataset to the iPhone/iPod touch switch to the dataset selection view (second icon on the bottom), scroll down to the bottom of the page and select "receive data". In the next screen enter the IP address of the desktop machine that runs ImageVis3D and a port you specified in that desktop. Finally select "Start Transfer". On the desktop side you first need to enable the ImageVis3D Mobile features in the Settings, under "Memory". After turning the ImageVis3D Mobile support on you should see a new option in the "File"-menu named "Transfer To ImageVis3D Mobile Device". Now open the dataset you want to transfer and select this new option. A dialog box opens. If you are transferring data for the first time you should double check the network port is a good one; if you have a firewall installed, note that ImageVis3D uses a single TCP port for the entire communication, (22 by default). After that click start to begin the data set conversion process and then run the network server to which your mobile device well then connect.
=== Windows Firewall ===
On Windows you may see a message from the built-in firewall asking you to allow or deny ImageVis3D access to the network. You must allow ImageVis3D access for data transfer to work. After allowing ImageVis3D access, you must ''click on start again'' to actually start the network server.
== Date exchange from mobile device to mobile device ==
ImageVis3D Mobile also allows you to transfer data directly from one mobile device to the other if booth devices support bluetooth. To transfer data simply select "Exchange with other Device" from the "Select Dataset" view on both devices, in the popup window connect to your peer, and finally select the dataset to be transfered on the source device.
== The Transfer Function Editor ==
In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
== Upcoming features ==
The next version will allow you to transfer data directly from one mobile device to another.
5439
5438
2009-08-24T12:30:26Z
Jens
63
made the change mentioned in the last comment
wikitext
text/x-wiki
ImageVis3D Mobile is a volume rendering application for handheld devices.
= ImageVis3D Mobile =
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile allow can transfer your own data directly from a desktop to your mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs). You can download the application via the Apple App Store or request a pre-release from the ImageVis3D team.
== Quickstart Instructions ==
When you start ImageVis3D Mobile it will automatically load your last data set (or one of the demo datasets if you start it for the first time). To interact with the data simply use one finger to rotate and two finders to zoom in or out. The four buttons on the bottom (from left to right) allow you to view your data; switch the data set and upload new data from your desktop version of Imagevis3D; edit the transfer function; and change settings (note that lighting is only available on the new iPhone 3GS).
== Uploading Data ==
To upload a new dataset to the iPhone/iPod touch switch to the dataset selection view (second icon on the bottom), scroll down to the bottom of the page and select "receive data". In the next screen enter the IP address of the desktop machine that runs ImageVis3D and a port you specified in that desktop. Finally select "Start Transfer". On the desktop side you first need to enable the ImageVis3D Mobile features in the Settings, under "Memory". After turning the ImageVis3D Mobile support on you should see a new option in the "File"-menu named "Transfer To ImageVis3D Mobile Device". Now open the dataset you want to transfer and select this new option. A dialog box opens. If you are transferring data for the first time you should double check the network port is a good one; if you have a firewall installed, note that ImageVis3D uses a single TCP port for the entire communication, (22 by default). After that click start to begin the data set conversion process and then run the network server to which your mobile device well then connect.
=== Windows Firewall ===
On Windows you may see a message from the built-in firewall asking you to allow or deny ImageVis3D access to the network. You must allow ImageVis3D access for data transfer to work. After allowing ImageVis3D access, you must ''click on start again'' to actually start the network server.
== Date exchange from mobile device to mobile device ==
ImageVis3D Mobile also allows you to transfer data directly from one mobile device to the other if booth devices support bluetooth. To transfer data simply select "Exchange with other Device" from the "Select Dataset" view on both devices, in the popup window connect to your peer, and finally select the dataset to be transfered on the source device.
== The Transfer Function Editor ==
In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
5443
5439
2009-08-27T10:52:37Z
Jens
63
/* ImageVis3D Mobile */
wikitext
text/x-wiki
ImageVis3D Mobile is a volume rendering application for handheld devices.
= ImageVis3D Mobile =
<span style="color:#FF0000">Approved Beta testers please click </span>[[ImageVis3DMobileBeta|this link]]<span style="color:#FF0000"> for instructions on how to install the latest version on your device. To apply for the ImageVis3D bet program please</span> [[ImageVis3DMobileBetaApplication|follow this link]].
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile allow can transfer your own data directly from a desktop to your mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs). You can download the application via the Apple App Store or request a pre-release from the ImageVis3D team.
== Quickstart Instructions ==
When you start ImageVis3D Mobile it will automatically load your last data set (or one of the demo datasets if you start it for the first time). To interact with the data simply use one finger to rotate and two finders to zoom in or out. The four buttons on the bottom (from left to right) allow you to view your data; switch the data set and upload new data from your desktop version of Imagevis3D; edit the transfer function; and change settings (note that lighting is only available on the new iPhone 3GS).
== Uploading Data ==
To upload a new dataset to the iPhone/iPod touch switch to the dataset selection view (second icon on the bottom), scroll down to the bottom of the page and select "receive data". In the next screen enter the IP address of the desktop machine that runs ImageVis3D and a port you specified in that desktop. Finally select "Start Transfer". On the desktop side you first need to enable the ImageVis3D Mobile features in the Settings, under "Memory". After turning the ImageVis3D Mobile support on you should see a new option in the "File"-menu named "Transfer To ImageVis3D Mobile Device". Now open the dataset you want to transfer and select this new option. A dialog box opens. If you are transferring data for the first time you should double check the network port is a good one; if you have a firewall installed, note that ImageVis3D uses a single TCP port for the entire communication, (22 by default). After that click start to begin the data set conversion process and then run the network server to which your mobile device well then connect.
=== Windows Firewall ===
On Windows you may see a message from the built-in firewall asking you to allow or deny ImageVis3D access to the network. You must allow ImageVis3D access for data transfer to work. After allowing ImageVis3D access, you must ''click on start again'' to actually start the network server.
== Date exchange from mobile device to mobile device ==
ImageVis3D Mobile also allows you to transfer data directly from one mobile device to the other if booth devices support bluetooth. To transfer data simply select "Exchange with other Device" from the "Select Dataset" view on both devices, in the popup window connect to your peer, and finally select the dataset to be transfered on the source device.
== The Transfer Function Editor ==
In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
5449
5443
2009-08-27T14:22:21Z
Tfogal
62
typos and similar
wikitext
text/x-wiki
ImageVis3D Mobile is a volume rendering application for handheld devices.
= ImageVis3D Mobile =
<span style="color:#FF0000">Approved Beta testers please click </span>[[ImageVis3DMobileBeta|this link]]<span style="color:#FF0000"> for instructions on how to install the latest version on your device. To apply for the ImageVis3D beta program please</span> [[ImageVis3DMobileBetaApplication|follow this link]].
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile one can transfer their own data directly from a desktop to a mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs). You can download the application via the Apple App Store or request a pre-release from the ImageVis3D team.
== Quickstart Instructions ==
When you start ImageVis3D Mobile it will automatically load your last data set (or one of the demo datasets if you start it for the first time). To interact with the data simply use one finger to rotate and two fingers to zoom in or out. The four buttons on the bottom (from left to right) allow you to view your data; switch the data set and upload new data from your desktop version of Imagevis3D; edit the transfer function; and change settings (note that lighting is only available on the new iPhone 3GS).
== Uploading Data ==
To upload a new dataset to the iPhone/iPod touch switch to the dataset selection view (second icon on the bottom), scroll down to the bottom of the page and select "receive data". In the next screen enter the IP address of the desktop machine that runs ImageVis3D and a port you specified in that desktop. Finally select "Start Transfer". On the desktop side you first need to enable the ImageVis3D Mobile features in the Settings, under "Memory". After turning the ImageVis3D Mobile support on you should see a new option in the "File"-menu named "Transfer To ImageVis3D Mobile Device". Now open the dataset you want to transfer and select this new option. A dialog box opens. If you are transferring data for the first time you should double check the network port is a good one; if you have a firewall installed, note that ImageVis3D uses a single TCP port for the entire communication, (22 by default). After that click start to begin the data set conversion process and then run the network server to which your mobile device well then connect.
=== Windows Firewall ===
On Windows you may see a message from the built-in firewall asking you to allow or deny ImageVis3D access to the network. You must allow ImageVis3D access for data transfer to work. After allowing ImageVis3D access, ''you must click on 'start' again'' to actually start the network server.
== Date exchange from mobile device to mobile device ==
ImageVis3D Mobile also allows you to transfer data directly from one mobile device to the other if both devices support bluetooth. To transfer data simply select "Exchange with other Device" from the "Select Dataset" view on both devices. In the popup window connect to your peer, and finally select the dataset to be transferred on the source device.
== The Transfer Function Editor ==
In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
CIBC:Meshing compiling
0
2604
5429
5351
2009-07-13T21:53:03Z
Ayla
57
/* An example */
wikitext
text/x-wiki
= Getting python =
This project requires python. Mac's and many Linux boxes have python preinstalled. If you need to install python on your system, you can obtain it at http://www.python.org/download/
= Checking out the Code =
svn co https://code.sci.utah.edu/svn/SCIRun/cibc/trunk/SCIRun
= Building the Code =
cd SCIRun
./build.sh --with-meshing-pipeline
= Using the Code =
From your SCIRun directory, you can run
src/StandAlone/Apps/FEMesher/scripts/BuildMesh.py --help
will print the usage information.
= An example =
Example model files have been placed [http://www.sci.utah.edu/devbuilds/biomesh3d/FEMesher here]. For each model, download the NRRD and model_config files onto your system. Edit the model_config.py, changing the top 2 lines to point to full path to the NRRD on your system and the full path to a directory where the mesher can place its output.
To run the mesher:
[path to your SCIRun directory]/src/StandAlone/Apps/FEMesher/scripts/BuildMesh.py [path to your SCIRun directory]/bin/FEMesher/mesher_config.py [path to your model]/model_config.py
Note: The build.sh script above makes an effort to set up the mesher_config.py for you. However, you might wish to check that the values in mesher_config.py above are appropriate for your system.
User:Tfogal
2
2639
5437
2009-07-27T17:52:17Z
Tfogal
62
who I am
wikitext
text/x-wiki
I'm Tom. I work at SCI && I'm great.
I'm one of the lead ImageVis3D developers. I also work on VisIt and occasionally SCIRun.
You can contact me via any of the 'iv3d' mailing lists.
ImageVis3DMobileBeta
0
2640
5444
2009-08-27T11:02:17Z
Jens
63
New page: == ImageVis3D Mobile Ad-Hoc Distribution Installation == Once you send your ID to the ImageVis3D Mobile team and received confirmation that your application has been accepted follow these...
wikitext
text/x-wiki
== ImageVis3D Mobile Ad-Hoc Distribution Installation ==
Once you send your ID to the ImageVis3D Mobile team and received confirmation that your application has been accepted follow these steps (note that the app will not work on your device before you received confirmation and we included your ID in the distribution):
* Download the mobileprovision and the application zif files from [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ here]
* Connect the device to your Mac or PC.
* Drag the attached mobileprovision file into your medial library in itunes
* Extract the attached *zip file and drag the *.app file into your medial library in itunes
* Sync your iPhone / iPod touch
* Disconnect the device and enjoy ImageVis3D Mobile
Please report any bugs, issues, feature requests [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
Again, this process only works if you are a confirmed beta tested. If you want to apply for the program click [[ImageVis3DMobileBetaApplication|here]].
5447
5444
2009-08-27T11:22:33Z
Jens
63
/* ImageVis3D Mobile Ad-Hoc Distribution Installation */
wikitext
text/x-wiki
== ImageVis3D Mobile Ad-Hoc Distribution Installation ==
Once you send your ID to the ImageVis3D Mobile team and received confirmation that your application has been accepted follow these steps (note that the app will not work on your device before you received confirmation and we included your ID in the distribution):
* Download the mobileprovision and the application zip files from [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ here]
* Connect the device to your Mac or PC.
* Drag the attached mobileprovision file into your medial library in itunes
* Extract the attached *zip file and drag the *.app file into your medial library in itunes
* Sync your iPhone / iPod touch
* Disconnect the device and enjoy ImageVis3D Mobile
Please report any bugs, issues, feature requests to [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
Again, this process only works if you are a confirmed beta tested. If you want to apply for the program click [[ImageVis3DMobileBetaApplication|here]].
5448
5447
2009-08-27T11:22:46Z
Jens
63
wikitext
text/x-wiki
== ImageVis3D Mobile Ad-Hoc Distribution Installation ==
Once you send your ID to the ImageVis3D Mobile team and received confirmation that your application has been accepted follow these steps (note that the app will not work on your device before you received confirmation and we included your ID in the distribution):
* Download the mobileprovision and the application zip files from [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ here]
* Connect the device to your Mac or PC.
* Drag the attached mobileprovision file into your medial library in itunes
* Extract the attached *.zip file and drag the *.app file into your medial library in itunes
* Sync your iPhone / iPod touch
* Disconnect the device and enjoy ImageVis3D Mobile
Please report any bugs, issues, feature requests to [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
Again, this process only works if you are a confirmed beta tested. If you want to apply for the program click [[ImageVis3DMobileBetaApplication|here]].
5451
5448
2009-08-27T14:29:16Z
Tfogal
62
/* ImageVis3D Mobile Ad-Hoc Distribution Installation */
wikitext
text/x-wiki
== ImageVis3D Mobile Ad-Hoc Distribution Installation ==
Once you send your device ID to the ImageVis3D Mobile team and have received confirmation that your application has been accepted, follow these steps:
* Download the mobile provision and application zip files from [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ here]
* Connect the device to your Mac or PC.
* Drag the attached mobileprovision file into your media library in itunes
* Extract the attached *.zip file and drag the *.app file into your media library in itunes
* Sync your iPhone / iPod touch
* Disconnect the device and enjoy ImageVis3D Mobile
'''Note:''' The app will '''not''' work on your device before you received confirmation and we included your ID in the distribution!
Please report any bugs, issues, feature requests to [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
Again, this process only works if you are a [[ImageVis3DMobileBetaApplication | confirmed beta tester]].
5453
5451
2009-08-27T14:55:30Z
Jens
63
/* ImageVis3D Mobile Ad-Hoc Distribution Installation */
wikitext
text/x-wiki
== ImageVis3D Mobile Ad-Hoc Distribution Installation ==
Once you send your device ID to the ImageVis3D Mobile team and have received confirmation that your application has been accepted, follow these steps:
# Download the mobile provision and application zip files from [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ here]
# Connect the device to your Mac or PC.
# Drag the attached mobileprovision file into your media library in itunes
# Extract the attached *.zip file and drag the *.app file into your media library in itunes
# Sync your iPhone / iPod touch
# Disconnect the device and enjoy ImageVis3D Mobile
'''Note:''' The app will '''not''' work on your device before you received confirmation and we included your ID in the distribution!
Please report any bugs, issues, feature requests to [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
Again, this process only works if you are a [[ImageVis3DMobileBetaApplication | confirmed beta tester]].
ImageVis3DMobileBetaApplication
0
2641
5445
2009-08-27T11:10:02Z
Jens
63
New page: == ImageVis3D Mobile Beta Application == To apply for the ImageVis3DMobile beta you need an iPhone or iPod touch (any generation works) with the iPhone OS 3.0 installed. If have such a co...
wikitext
text/x-wiki
== ImageVis3D Mobile Beta Application ==
To apply for the ImageVis3DMobile beta you need an iPhone or iPod touch (any generation works) with the iPhone OS 3.0 installed. If have such a configuration perform the following steps:
* Connect the device to your Mac or PC.
* On the "Summary" tab in iTunes, click the "Serial Number" label. You'll notice "Serial Number" changes to "Identifier".
* Click on "Edit" in the menu at the top and select "Copy".
* Paste the device ID into an email together with your device type (e.g. iPhone, iPhone 3G, iPhone 3Gs, iPod Touch first gen, iPod Touch second gen, if you do know your device type simply write unknown device) and send it to [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
* Wait for a mail back from us
'''AFTER''', you received confirmation that you have been accepted for the program proceed to the download instructions [[ImageVis3DMobileBeta|here]. Note that is an official iPhone/iPod touch application beta test and thus it is '''not''' required that you jailbreak your iPhone/iPod touch to participate.
5446
5445
2009-08-27T11:18:46Z
Jens
63
/* ImageVis3D Mobile Beta Application */
wikitext
text/x-wiki
== ImageVis3D Mobile Beta Application ==
To apply for the ImageVis3DMobile beta you need an iPhone or iPod touch (any generation works) with the iPhone OS 3.0 installed. If have such a configuration perform the following steps:
* Connect the device to your Mac or PC.
* On the "Summary" tab in iTunes, click the "Serial Number" label. You'll notice "Serial Number" changes to "Identifier".
* Click on "Edit" in the menu at the top and select "Copy".
* Paste the device ID into an email together with your device type (e.g. iPhone, iPhone 3G, iPhone 3Gs, iPod Touch first gen, iPod Touch second gen, if you do know your device type simply write unknown device) and send it to [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
* Wait for a mail back from us
'''AFTER''', you received confirmation that you have been accepted for the program proceed to the download instructions [[ImageVis3DMobileBeta|here]]. Note that is an official iPhone/iPod touch application beta test and thus it is '''not''' required that you jailbreak your iPhone/iPod touch to participate.
5450
5446
2009-08-27T14:28:51Z
Tfogal
62
wording
wikitext
text/x-wiki
== ImageVis3D Mobile Beta Application ==
To apply for the ImageVis3DMobile beta you need an iPhone or iPod touch (any generation works) with the iPhone OS 3.0 installed. If have such a configuration perform the following steps:
* Connect the device to your Mac or PC.
* On the "Summary" tab in iTunes, click the "Serial Number" label. You'll notice "Serial Number" changes to "Identifier".
* Click on "Edit" in the menu at the top and select "Copy".
* Paste the device ID into an email together with your device type (e.g. iPhone, iPhone 3G, iPhone 3Gs, iPod Touch first gen, iPod Touch second gen, if you do not know your device type simply write "unknown device") and send it to [mailto:jens@sci.uitah.edu jens@sci.utah.edu].
* Wait for a mail back from us.
'''AFTER''' you receive confirmation that you have been accepted for the program proceed to the download instructions [[ImageVis3DMobileBeta|here]]. Note that is an official iPhone/iPod touch beta application and thus it is '''not''' required that you use the 'jailbreak' software on your iPhone/iPod touch to install it.
5452
5450
2009-08-27T14:31:25Z
Tfogal
62
/* ImageVis3D Mobile Beta Application */ numbered list
wikitext
text/x-wiki
== ImageVis3D Mobile Beta Application ==
To apply for the ImageVis3DMobile beta you need an iPhone or iPod touch (any generation works) with the iPhone OS 3.0 installed. If have such a configuration perform the following steps:
# Connect the device to your Mac or PC.
# On the "Summary" tab in iTunes, click the "Serial Number" label. You'll notice "Serial Number" changes to "Identifier".
# Click on "Edit" in the menu at the top and select "Copy".
# Paste the device ID into an email together with your device type (e.g. iPhone, iPhone 3G, iPhone 3Gs, iPod Touch first gen, iPod Touch second gen, if you do not know your device type simply write "unknown device") and send it to [mailto:jens@sci.uitah.edu jens@sci.utah.edu].
# Wait for a mail back from us.
'''AFTER''' you receive confirmation that you have been accepted for the program proceed to the download instructions [[ImageVis3DMobileBeta|here]]. Note that is an official iPhone/iPod touch beta application and thus it is '''not''' required that you use the 'jailbreak' software on your iPhone/iPod touch to install it.
File:BioMesh3DGuide.pdf
6
2642
5454
2009-08-27T18:50:38Z
Ayla
57
BioMesh3D users guide
wikitext
text/x-wiki
BioMesh3D users guide
CIBC:Meshing
0
2603
5455
5340
2009-08-27T19:23:07Z
Ayla
57
wikitext
text/x-wiki
=Meshing =
[[CIBC:Meshing compiling| check out/compile/run]]
[[CIBC:Meshing Results| collaborator meshing results]]
[[CIBC:Meshing completed models| completed mesh projects]]
BioMesh3D User's Guide ([[Image:BioMesh3DGuide.pdf]])
5456
5455
2009-08-27T19:24:09Z
Ayla
57
wikitext
text/x-wiki
=Meshing =
[[CIBC:Meshing compiling| check out/compile/run]]
[[CIBC:Meshing Results| collaborator meshing results]]
[[CIBC:Meshing completed models| completed mesh projects]]
[http://www.sci.utah.edu/cibc/wiki/images/1/15/BioMesh3DGuide.pdf BioMesh3D User's Guide ]
5457
5456
2009-08-27T19:24:20Z
Ayla
57
wikitext
text/x-wiki
=Meshing =
[[CIBC:Meshing compiling| check out/compile/run]]
[[CIBC:Meshing Results| collaborator meshing results]]
[[CIBC:Meshing completed models| completed mesh projects]]
[http://www.sci.utah.edu/cibc/wiki/images/1/15/BioMesh3DGuide.pdf BioMesh3D User Guide ]
Main Page
0
1
5458
5291
2009-08-28T18:17:50Z
Ayla
57
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5459
5458
2009-08-28T18:20:12Z
Ayla
57
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view these pages but you will need an account to edit them. To get one, please use this:
<big>[http://www.sci.utah.edu/cgi-bin/SCIwiki_acct_req.pl?wiki=cibc <b>Account Request Form</b>]</big><br>
We will set it up for you and email your login info as soon as possible.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
CIBC:ImageVis3D ChangeLog1.2
0
2643
5463
2009-11-03T19:08:05Z
Tfogal
62
release notes
wikitext
text/x-wiki
= ImageVis3D 1.2 =
The ImageVis3D team is proud to announce the release of ImageVis3D 1.2!
ImageVis3D is a desktop volume rendering application which was designed
to visualize large data. Support is available for multiple rendering
modes, such as 1D and 2D transfer functions, isosurface rendering,
as well as specialized modes such as MIP and slice views. On modern
systems, ImageVis3D's GPU-accelerated rendering delivers incredible
performance, while compatibility options exist to allow ImageVis3D to
perform adequately on older systems.
ImageVis3D 1.2 is a major release, bringing many new features and a
great number of bugfixes. Changes since 1.1.1 include:
New Features
------------
* ImageVis3D 1.2 can now convert and export data in 'I3M' format, to
allow interoperation with ImageVis3D Mobile.
* On the same token, ImageVis3D can be used as a data server for
ImageVis3D Mobile. Enable ImageVis3D Mobile features in the
'User Interface' tab of the settings pane; see the wiki for more
information.
* Data conversion avoids scaling the data if it is not strictly
necessary.
* BOV files can now be exported.
* The list of files supporting import and export is now queried at
runtime, and unsupported configurations are not offered to the
user.
* The dividers in 2x2 (slice view) mode can now be repositioned.
* If enabled in the settings, ImageVis3D will additionally scale
the image resolution and sampling rate appropriately to maintain
interactivity. This behaves like an extra level of detail: idling
in the application will restore high quality resolution and sampling
settings.
* ImageVis3D will now notify a user where their successfully
converted data file was stored.
* The user can now explicitly set minimum and maximum LoDs to render.
* The list of scripting commands given in 'help' is now alphabetized.
* Lighting colors can now be adjusted.
* Custom rescale factors can now be generated after conversion and
saved into the UVF file.
* UI widgets were added to display dataset information and metadata.
* Debian and Ubuntu users can now get updates for ImageVis3D using
their distribution's package manager and this launchpad PPA:
https://launchpad.net/~tfogal/+archive/ppa
This is currently only for 'development' (unstable) builds, though
we hope to expand this support in future releases.
Bugs fixed in this release
--------------------------
* The BOV reader recognizes more BOVs as such.
* Fixed a minor bug with the scaling factor for quantized datasets of
signed types.
* Some conversion code previously used the target instead of
temporary directory when creating intermediate files.
* Fixed some minor issues with the memory management for JPEG DICOMs.
* The DICOM reader now recognizes a couple fields it (attempted to,
often incorrectly) skip over previously.
* A large memory leak while loading non-JPEG DICOMs was fixed.
* Fixed a bug where the BOV reader failed to read the data file if
the path listed in it was absolute, not relative.
* The ClearView lens is now object aligned instead of screen aligned;
this fixes stereo rendering with ClearView.
* Fixed a bug in the relation of the visible slice plane (via the 'p'
key) and the slice view.
* Fixed the Windows installer version number; it was statically set
to 1.0.
* Fixed a potential crash when loading corrupted shaders.
* Fixed a rare memory leak when deleting portions of a dataset when
multiple datasets were loaded.
* A minor issue validating some command line arguments was fixed.
* Fixed a crash while loading TIFF volumes on some platforms.
* Fixed histogram calculation for 2048^3 voxel or larger datasets.
This also fixes a crash loading a dataset which was exactly 2048^3
voxels.
* Fixed a bug which could cause ImageVis3D to crash if a dataset
failed to convert.
* Allow resizing of the bug report dialog, making it more usable on
systems with low desktop resolutions.
* Some minor issues were fixed which enable an experimental Cocoa-Qt
based Mac build. The ImageVis3D does not plan to support such a
configuration in the short term.
* Missing shaders were added to the debian packages (.debs).
* Fixed a crash which can occur when the "Basic" 2D transfer function
editor tries to render an unlikely polygon which could only be
created via the "Expert" 2D transfer function editor.
* Filenames are validated early in the export process, allowing
ImageVis3D to display error messages which are easier to
understand.
Changes which are only of interest to developers
------------------------------------------------
* Minor bugfixes and improvements to the 'Basics' library.
* The IO layer was vastly reorganized to allow for easier integration
of third party applications. This propagated into the renderer,
simplifying data access in many places.
* The non-UI components of ImageVis3D can be built without the Qt
library, at a loss of some functionality.
* Basic API additions were made to allow for future provenance
support.
* Checked iterators are disabled in Windows release builds.
* Internal boost libraries were updated to 1.39.
* Portions of the data conversion (quantization) code were
templatized, reducing code duplication.
* Added a basic unit testing framework, with some tests for the IO
library as examples.
* Libraries now use the tr1 library where appropriate; in particular,
this requires the latest compiler and an extra library download for
compilation using MSVC.
* An indexing error caused the UVF library to think the MaxMin data
block was smaller than it actually was, causing issues if it was not
the last block in the UVF.
All existing UVFs are incorrect, but ImageVis3D always put this
data block last, making it a non-issue.
* Fixed a bug querying the OpenGL context information from non-Qt
applications.
* A CMake-based build system is now maintained in the Tuvok tree,
for ease of integration into third party apps which require CMake.
* The debug system in Tuvok was revamped to make it significantly
easier to add new channels, and prevent multiple format expansions.
* Some duplicated, internal third party libraries were removed
(inadvertently copied while splitting repositories).
* A bug was fixed with the texture format for floating point data.
Only third party apps could hit this bug; all data in ImageVis3D
are quantized before they hit the renderer.
* A preliminary bias and scale method of transfer function scaling
was added, to allow rendering unquantized data.
* A flag was added to force Tuvok to respect the existing depth
buffer, and write into it if possible. This allows third party apps
to more easily integrate Tuvok within a rendering pipeline.
* A potential crash on exit (which could only happen in third party
client apps) was fixed.
* Finding the location of the manual during nightly builds was
simplified.
* APIs were updated to consistently use the capitalization,
"Dataset".
* The Qt build scripts were updated to work with modern releases of
Qt.
* The Mac and Windows build process was improved. Any Carbon-Qt
installation should be able to build ImageVis3D on Mac. A Windows
build can be created from qmake, sans a few minor annoyances.
* A new command line tool allows examination or even generation of
custom UVF files.
Known issues with this release
------------------------------
* The 'Stack' ("stk"), single-file TIFF volume, and Fraunhofer EZRT
("rek") file formats can only be read, not written.
* The 'Brick Of Values' (BOV) reader does not support BOVs in which
the data are split across multiple files.
* RGBA is the only kind of multicomponent data supported.
* NVIDIA GPUs on both Linux and Macs expose a driver issue which
can hang the system for prolonged periods of time. We recommend
sticking with the slice based volume renderer on Mac and Linux for
this release.
* Full-color datasets do not display a proper histogram in the
transfer function editors.
* The manual is unfortunately out of date with respect to the current
feature set.
* DICOMs with some kinds of embedded 12- or 16-bit JPEGs will not be
converted correctly.
ImageVis3D 1.2 supports Intel Macs 10.5 and up (10.5.8 highly
recommended), Windows, and Linux. Binaries are available at:
http://www.sci.utah.edu/download/imagevis3d.html
the nightly 'developer builds' site:
http://www.sci.utah.edu/devbuilds/imagevis3d/
or you can get the source directly from our subversion repository,
using the 'svn' command:
svn co https://gforge.sci.utah.edu/svn/imagevis3d
or any other subversion client. We look forward to your feedback on
this release. Best,
- The ImageVis3D team.
5464
5463
2009-11-03T19:26:49Z
Tfogal
62
/* ImageVis3D 1.2 */ formatting. damn wiki.
wikitext
text/x-wiki
= ImageVis3D 1.2 =
The ImageVis3D team is proud to announce the release of ImageVis3D 1.2!
ImageVis3D is a desktop volume rendering application which was designed
to visualize large data. Support is available for multiple rendering
modes, such as 1D and 2D transfer functions, isosurface rendering,
as well as specialized modes such as MIP and slice views. On modern
systems, ImageVis3D's GPU-accelerated rendering delivers incredible
performance, while compatibility options exist to allow ImageVis3D to
perform adequately on older systems.
ImageVis3D 1.2 is a major release, bringing many new features and a
great number of bugfixes. Changes since 1.1.1 include:
New Features
------------
* ImageVis3D 1.2 can now convert and export data in 'I3M' format, to allow interoperation with ImageVis3D Mobile.
* On the same token, ImageVis3D can be used as a data server for ImageVis3D Mobile. Enable ImageVis3D Mobile features in the 'User Interface' tab of the settings pane; see the wiki for more information.
* Data conversion avoids scaling the data if it is not strictly necessary.
* BOV files can now be exported.
* The list of files supporting import and export is now queried at runtime, and unsupported configurations are not offered to the user.
* The dividers in 2x2 (slice view) mode can now be repositioned.
* If enabled in the settings, ImageVis3D will additionally scale the image resolution and sampling rate appropriately to maintain interactivity. This behaves like an extra level of detail: idling in the application will restore high quality resolution and sampling settings.
* ImageVis3D will now notify a user where their successfully converted data file was stored.
* The user can now explicitly set minimum and maximum LoDs to render.
* The list of scripting commands given in 'help' is now alphabetized.
* Lighting colors can now be adjusted.
* Custom rescale factors can now be generated after conversion and saved into the UVF file.
* UI widgets were added to display dataset information and metadata.
* Debian and Ubuntu users can now get updates for ImageVis3D using their distribution's package manager and a [https://launchpad.net/~tfogal/+archive/ppa Launchpad PPA]. This is currently only for 'development' (unstable) builds, though we hope to expand this support in future releases.
Bugs fixed in this release
--------------------------
* The BOV reader recognizes more BOVs as such.
* Fixed a minor bug with the scaling factor for quantized datasets of signed types.
* Some conversion code previously used the target instead of temporary directory when creating intermediate files.
* Fixed some minor issues with the memory management for JPEG DICOMs.
* The DICOM reader now recognizes a couple fields it (attempted to, often incorrectly) skip over previously.
* A large memory leak while loading non-JPEG DICOMs was fixed.
* Fixed a bug where the BOV reader failed to read the data file if the path listed in it was absolute, not relative.
* The ClearView lens is now object aligned instead of screen aligned; this fixes stereo rendering with ClearView.
* Fixed a bug in the relation of the visible slice plane (via the 'p' key) and the slice view.
* Fixed the Windows installer version number; it was statically set to 1.0.
* Fixed a potential crash when loading corrupted shaders.
* Fixed a rare memory leak when deleting portions of a dataset when multiple datasets were loaded.
* A minor issue validating some command line arguments was fixed.
* Fixed a crash while loading TIFF volumes on some platforms.
* Fixed histogram calculation for 2048^3 voxel or larger datasets. This also fixes a crash loading a dataset which was exactly 2048^3 voxels.
* Fixed a bug which could cause ImageVis3D to crash if a dataset failed to convert.
* Allow resizing of the bug report dialog, making it more usable on systems with low desktop resolutions.
* Some minor issues were fixed which enable an experimental Cocoa-Qt based Mac build. The ImageVis3D does not plan to support such a configuration in the short term.
* Missing shaders were added to the debian packages (.debs).
* Fixed a crash which can occur when the "Basic" 2D transfer function editor tries to render an unlikely polygon which could only be created via the "Expert" 2D transfer function editor.
* Filenames are validated early in the export process, allowing ImageVis3D to display error messages which are easier to understand.
Changes which are only of interest to developers
------------------------------------------------
* Minor bugfixes and improvements to the 'Basics' library.
* The IO layer was vastly reorganized to allow for easier integration of third party applications. This propagated into the renderer, simplifying data access in many places.
* The non-UI components of ImageVis3D can be built without the Qt library, at a loss of some functionality.
* Basic API additions were made to allow for future provenance support.
* Checked iterators are disabled in Windows release builds.
* Internal boost libraries were updated to 1.39.
* Portions of the data conversion (quantization) code were templatized, reducing code duplication.
* Added a basic unit testing framework, with some tests for the IO library as examples.
* Libraries now use the tr1 library where appropriate; in particular, this requires the latest compiler and an extra library download for compilation using MSVC.
* An indexing error caused the UVF library to think the MaxMin data block was smaller than it actually was, causing issues if it was not the last block in the UVF. All existing UVFs are incorrect, but ImageVis3D always put this data block last, making it a non-issue.
* Fixed a bug querying the OpenGL context information from non-Qt applications.
* A CMake-based build system is now maintained in the Tuvok tree, for ease of integration into third party apps which require CMake.
* The debug system in Tuvok was revamped to make it significantly easier to add new channels, and prevent multiple format expansions.
* Some duplicated, internal third party libraries were removed (inadvertently copied while splitting repositories).
* A bug was fixed with the texture format for floating point data. Only third party apps could hit this bug; all data in ImageVis3D are quantized before they hit the renderer.
* A preliminary bias and scale method of transfer function scaling was added, to allow rendering unquantized data.
* A flag was added to force Tuvok to respect the existing depth buffer, and write into it if possible. This allows third party apps to more easily integrate Tuvok within a rendering pipeline.
* A potential crash on exit (which could only happen in third party client apps) was fixed.
* Finding the location of the manual during nightly builds was simplified.
* APIs were updated to consistently use the capitalization, "Dataset".
* The Qt build scripts were updated to work with modern releases of Qt.
* The Mac and Windows build process was improved. Any Carbon-Qt installation should be able to build ImageVis3D on Mac. A Windows build can be created from qmake, sans a few minor annoyances.
* A new command line tool allows examination or even generation of custom UVF files.
Known issues with this release
------------------------------
* The 'Stack' ("stk"), single-file TIFF volume, and Fraunhofer EZRT ("rek") file formats can only be read, not written.
* The 'Brick Of Values' (BOV) reader does not support BOVs in which the data are split across multiple files.
* RGBA is the only kind of multicomponent data supported.
* NVIDIA GPUs on both Linux and Macs expose a driver issue which can hang the system for prolonged periods of time. We recommend sticking with the slice based volume renderer on Mac and Linux for this release.
* Full-color datasets do not display a proper histogram in the transfer function editors.
* The manual is unfortunately out of date with respect to the current feature set.
* DICOMs with some kinds of embedded 12- or 16-bit JPEGs will not be converted correctly.
ImageVis3D 1.2 supports Intel Macs 10.5 and up (10.5.8 highly
recommended), Windows, and Linux. Binaries are available at:
http://www.sci.utah.edu/download/imagevis3d.html
the nightly 'developer builds' site:
http://www.sci.utah.edu/devbuilds/imagevis3d/
or you can get the source directly from our subversion repository,
using the 'svn' command:
svn co https://gforge.sci.utah.edu/svn/imagevis3d
or any other subversion client. We look forward to your feedback on
this release. Best,
- The ImageVis3D team.
CIBC:ImageVis3D
0
2614
5465
5462
2009-11-11T19:09:46Z
Tfogal
62
/* Past Release Archive */ Remove the archive of past releases. Available on the SW site, pain to maintain in 2 places.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://www.sci.utah.edu/download/imagevis3d.html here] or the latest build [http://www.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://www.sci.utah.edu/lists/ iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [http://www.sci.utah.edu/images/docs/imagevis3d.pdf ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feedback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
=== Roadmap ===
The following list shows the <span style="font-weight:bold; color:red">present</span> and future development stages of ImageVis3D, up to the version 1.0. The top level list elements show the version number together with a short description of the main features/purpose of this version, and an (estimated) release data. The version we are currently working on is marked in <span style="font-weight:bold; color:red">red</span>. In that current version all completed features are marked in <span style="font-weight:bold; color:green">green</span>.
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5466
5465
2009-11-11T19:10:32Z
Tfogal
62
/* Roadmap */ we've hit 1.0 =) the roadmap was always out of date anyway.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://www.sci.utah.edu/download/imagevis3d.html here] or the latest build [http://www.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ here.]
=== Compile it Yourself ===
Assuming that you already have Qt 4.4 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we have provided some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://www.sci.utah.edu/lists/ iv3d-users]'' mailing list, or join in the development on ''iv3d-develop''.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the ''iv3d-users'' mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
The [http://www.sci.utah.edu/images/docs/imagevis3d.pdf ImageVis3D 1.0 manual] is now available.
=== Video Tutorials ===
First Start
* initial setup <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Initial_Setup.mov MOV]<nowiki>]</nowiki>
* the welcome screen <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/00_Welcome_Screen.mov MOV]<nowiki>]</nowiki>
Loading Data
* from a native UVF File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/01_Load_A_Native_UVF_File.mov MOV]<nowiki>]</nowiki>
* from an external File <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/02_Load_And_Convert_An_External_File.mov MOV]<nowiki>]</nowiki>
* from a directory of files (e.g. DICOM, Images) <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/03_Load_Data_From_A_Stack_Of_Files.mov MOV]<nowiki>]</nowiki>
Rendering
* general rendermodes <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/04_Changing_Rendermodes.mov MOV]<nowiki>]</nowiki>
* the LOD system <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/05_The_LOD_System.mov MOV]<nowiki>]</nowiki>
* 2D slice and MIP views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/06_2D_Slice_And_MIP_Views.mov MOV]<nowiki>]</nowiki>
* locking views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/07_Locking_Windows.mov MOV]<nowiki>]</nowiki>
* red/blue (anaglyph) stereo <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/08_Stereo_Rendering.mov MOV]<nowiki>]</nowiki>
Recording
* 3D views <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/09_Recodring_3D_Views.mov MOV]<nowiki>]</nowiki>
* MIP rotations
Feedback
* Submitting an error report <nowiki>[</nowiki>[http://www.sci.utah.edu/~jens/ImageVis3D/movies/10_Submitting_An_Error_Report.mov MOV]<nowiki>]</nowiki>
more coming soon.
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5469
5466
2010-01-08T03:28:46Z
Tfogal
62
update, lots of obsolete material previously, added a "key" for understanding us weirdo devs ;)
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download milestone releases [http://www.sci.utah.edu/download/imagevis3d.html here] or the latest build [http://www.sci.utah.edu/devbuilds/imagevis3d/ here] and simply run it. For windows if you do not download the installler but the packed binaries make sure you also download and install the Microsoft C++ 2008 runtime which is available for 32 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86] and for 64 bit systems [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]. Note that you may need the 32 bit version of the redist even on a 64 bit machine if you use the 32 bit version of ImageVis3D. No other prerequisites are required for ImageVis3D to run.[[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can also download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site.] Note that the command line converter is not officially supported; in particular, the names of command line options which are currently accepted are likely to change in a future release.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://www.sci.utah.edu/lists/ iv3d-users]'' mailing list, or join in the development on [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop].
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A quick guide:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''V'''olume '''R'''endering '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5470
5469
2010-01-08T03:33:48Z
Tfogal
62
/* Download the binary */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site.] Note that the command line converter is not officially supported; in particular, the names of command line options which are currently accepted are likely to change in a future release.
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://www.sci.utah.edu/lists/ iv3d-users]'' mailing list, or join in the development on [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop].
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A quick guide:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''V'''olume '''R'''endering '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5471
5470
2010-01-08T03:36:42Z
Tfogal
62
/* Compile it Yourself */ note on Qt's Qt.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site.] Note that the command line converter is not officially supported; in particular, the names of command line options which are currently accepted are likely to change in a future release.
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. We encourage you to give us your feedback on the ''[http://www.sci.utah.edu/lists/ iv3d-users]'' mailing list, or join in the development on [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop].
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A quick guide:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''V'''olume '''R'''endering '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5472
5471
2010-01-08T20:54:30Z
Tfogal
62
/* Join the Community */ update the mailing lists.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site.] Note that the command line converter is not officially supported; in particular, the names of command line options which are currently accepted are likely to change in a future release.
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide can be [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5473
5472
2010-01-08T21:31:17Z
Tfogal
62
/* ImageVis3D Mobile */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site.] Note that the command line converter is not officially supported; in particular, the names of command line options which are currently accepted are likely to change in a future release.
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5478
5473
2010-03-11T18:52:23Z
Tfogal
62
/* Compile it Yourself */ add "recursive" to example qmake invocation.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site.] Note that the command line converter is not officially supported; in particular, the names of command line options which are currently accepted are likely to change in a future release.
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5488
5478
2010-05-28T19:31:28Z
Tfogal
62
/* Download the binary */ note converter issue
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">As we are now using C++ tr1 functionality you need to download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5489
5488
2010-05-28T19:33:24Z
Tfogal
62
/* Compile it Yourself */ make it clear this is windows only stuff
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5492
5489
2010-07-13T20:11:10Z
Daniel
58
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5493
5492
2010-07-13T20:11:48Z
Daniel
58
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5494
5493
2010-07-13T20:20:25Z
Daniel
58
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
This is a test.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5495
5494
2010-07-13T20:21:01Z
Daniel
58
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5496
5495
2010-07-13T20:36:47Z
Tfogal
62
/* Compile it Yourself */ add a bit on apple builds
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
==== Experimental 64-bit Mac Builds ====
We do not yet distribute 64-bit binaries on Apple platforms.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5497
5496
2010-07-13T20:42:50Z
Tfogal
62
/* Experimental 64-bit Mac Builds */ more info on apple 64bit
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
==== Experimental 64-bit Mac Builds ====
We do not yet distribute 64-bit binaries on Apple platforms. We have internal builds for this platform, but we don't feel they meet the quality of other builds, and so we are not distributing binaries at this time. You can, however, build ImageVis3D yourself if you desperately need 64-bit support; this section shows you how.
The mile-high view is that you need a 64-bit, Cocoa-backed Qt. Then you need to apply a few changes to the <TT>.pro</TT> files in the ImageVis3D tree. Finally you need to invoke the correct <TT>qmake</TT>, and then build. Since you are building manually, when you're done you probably want to run the ''Scripts/mk_app.sh'' script manually, to create a full-fledged Apple "bundle".
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5501
5497
2010-07-13T20:46:09Z
Tfogal
62
/* Experimental 64-bit Mac Builds */
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
==== Experimental 64-bit Mac Builds ====
We do not yet distribute 64-bit binaries on Apple platforms. We have internal builds for this platform, but we don't feel they meet the quality of other builds, and so we are not distributing binaries at this time. You can, however, build ImageVis3D yourself if you desperately need 64-bit support; this section shows you how.
The mile-high view is that you need a 64-bit, Cocoa-backed Qt. Then you need to apply a few changes to the <TT>.pro</TT> files in the ImageVis3D tree. Finally you need to invoke the correct <TT>qmake</TT>, and then build. Since you are building manually, when you're done you probably want to run the ''Scripts/mk_app.sh'' script manually, to create a full-fledged Apple "bundle".
There are two paths for your Qt install. The first is to use a [http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x Qt/Cocoa binary]. The ImageVis3D developers have never used such binaries and have no idea if this path will work. The second is to compile Qt from source manually.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5502
5501
2010-07-13T21:00:32Z
Tfogal
62
/* Experimental 64-bit Mac Builds */ finish 64-bit apple build doc
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
==== Experimental 64-bit Mac Builds ====
We do not yet distribute 64-bit binaries on Apple platforms. We have internal builds for this platform, but we don't feel they meet the quality of other builds, and so we are not distributing binaries at this time. You can, however, build ImageVis3D yourself if you desperately need 64-bit support; this section shows you how.
The mile-high view is that you need a 64-bit, Cocoa-backed Qt. Then you need to apply a few changes to the <TT>.pro</TT> files in the ImageVis3D tree. Finally you need to invoke the correct <TT>qmake</TT>, and then build. Since you are building manually, when you're done you probably want to run the ''Scripts/mk_app.sh'' script manually, to create a full-fledged Apple "bundle".
There are two paths for your Qt install. The first is to use a [http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x Qt/Cocoa binary]. The ImageVis3D developers have never used such binaries and have no idea if this path will work. The second is to compile Qt from source manually.
Compiling Qt from source can be a nightmare, but we provide a script that should get you past the heavy lifting, if not do everything for you. Earlier in this section we linked to a script to build Qt ''statically'', but Qt/Cocoa '''must''' be built as a dynamic framework. We supply [https://gforge.sci.utah.edu/gf/project/imagevis3d/scmsvn/?action=browse&path=%2F*checkout*%2FScripts%2FMac-DynamicQt-Cocoa.sh&revision=1471&content-type=text%2Fplain&pathrev=1471 another script] for building Qt in this manner. To compile Qt, download the script, edit it in a text editor to make sure it grabs the Qt version you want, as well as changing the argument to '<TT>arch</TT>' from '<TT>x86</TT>' to '<TT>x86_64</TT>'. Finally, run '<TT>sh Mac-DynamicQt-Cocoa.sh</TT>' in your shell to perform the compilation. This will take 10 to 20 minutes on your average Core 2 Duo iMac.
After you've got Qt installed, the process should be the same regardless of which method you chose for installation.
# Check out the ImageVis3D source tree out of its version control repository.
# Edit <TT>ImageVis3D/ImageVis3D.pro</TT>, <TT>Tuvok/Tuvok.pro</TT>, <TT>UVFReader/UVFReader.pro</TT> and <TT>CmdLineConverter/CmdLineConverter.pro</TT> in a text editor. Make sure QT_MAC_USE_COCOA equals 1.
# Run <TT>qmake -recursive</TT>, making sure it invokes the 64-bit Qt/Cocoa qmake that you just installed (you might have multiple versions on your system!).
#* This should print out some messages about doing a "shared build". If it prints our messages about a "static build", then you're either using the wrong <TT>qmake</TT> or you compiled Qt with the wrong options.
# <TT>make</TT>
# <TT>sh Scripts/mk_app.sh</TT>
You can verify you've got a 64-bit executable using the '<TT>file</TT>' command:
file Build/ImageVis3D.app/Contents/MacOS/ImageVis3D
should tell you that the file is a 'Mach-O 64-bit executable x86_64'. If it says 32-bit or just x86, then you've built a 32-bit binary.
Finally, you can start this version of ImageVis3D using '<TT>open Build/ImageVis3D.app</TT>'.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
== Development Information ==
=== Design Principles ===
* Lightweight Application
* Interactive
* Large Dataset Support
* Flexible UI
* Support a Wide range of Software & Hardware
* Foundation for other Apps
* Foundation for Research Projects
* MIT License
==== Near Term Development Focus ====
* ImageVis3D Mobile
* Nearest neighbor interpolation option.
==== Long Term Development Focus ====
* Shader factory
* Interactive merging of multiple datasets.
5503
5502
2010-07-13T21:59:35Z
Tfogal
62
removed 'development information'. it was dumb, and we never keep it up to date anyway.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
==== Experimental 64-bit Mac Builds ====
We do not yet distribute 64-bit binaries on Apple platforms. We have internal builds for this platform, but we don't feel they meet the quality of other builds, and so we are not distributing binaries at this time. You can, however, build ImageVis3D yourself if you desperately need 64-bit support; this section shows you how.
The mile-high view is that you need a 64-bit, Cocoa-backed Qt. Then you need to apply a few changes to the <TT>.pro</TT> files in the ImageVis3D tree. Finally you need to invoke the correct <TT>qmake</TT>, and then build. Since you are building manually, when you're done you probably want to run the ''Scripts/mk_app.sh'' script manually, to create a full-fledged Apple "bundle".
There are two paths for your Qt install. The first is to use a [http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x Qt/Cocoa binary]. The ImageVis3D developers have never used such binaries and have no idea if this path will work. The second is to compile Qt from source manually.
Compiling Qt from source can be a nightmare, but we provide a script that should get you past the heavy lifting, if not do everything for you. Earlier in this section we linked to a script to build Qt ''statically'', but Qt/Cocoa '''must''' be built as a dynamic framework. We supply [https://gforge.sci.utah.edu/gf/project/imagevis3d/scmsvn/?action=browse&path=%2F*checkout*%2FScripts%2FMac-DynamicQt-Cocoa.sh&revision=1471&content-type=text%2Fplain&pathrev=1471 another script] for building Qt in this manner. To compile Qt, download the script, edit it in a text editor to make sure it grabs the Qt version you want, as well as changing the argument to '<TT>arch</TT>' from '<TT>x86</TT>' to '<TT>x86_64</TT>'. Finally, run '<TT>sh Mac-DynamicQt-Cocoa.sh</TT>' in your shell to perform the compilation. This will take 10 to 20 minutes on your average Core 2 Duo iMac.
After you've got Qt installed, the process should be the same regardless of which method you chose for installation.
# Check out the ImageVis3D source tree out of its version control repository.
# Edit <TT>ImageVis3D/ImageVis3D.pro</TT>, <TT>Tuvok/Tuvok.pro</TT>, <TT>UVFReader/UVFReader.pro</TT> and <TT>CmdLineConverter/CmdLineConverter.pro</TT> in a text editor. Make sure QT_MAC_USE_COCOA equals 1.
# Run <TT>qmake -recursive</TT>, making sure it invokes the 64-bit Qt/Cocoa qmake that you just installed (you might have multiple versions on your system!).
#* This should print out some messages about doing a "shared build". If it prints our messages about a "static build", then you're either using the wrong <TT>qmake</TT> or you compiled Qt with the wrong options.
# <TT>make</TT>
# <TT>sh Scripts/mk_app.sh</TT>
You can verify you've got a 64-bit executable using the '<TT>file</TT>' command:
file Build/ImageVis3D.app/Contents/MacOS/ImageVis3D
should tell you that the file is a 'Mach-O 64-bit executable x86_64'. If it says 32-bit or just x86, then you've built a 32-bit binary.
Finally, you can start this version of ImageVis3D using '<TT>open Build/ImageVis3D.app</TT>'.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
5504
5503
2010-07-13T22:02:19Z
Tfogal
62
/* Experimental 64-bit Mac Builds */ wording
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
==== Experimental 64-bit Mac Builds ====
We do not yet distribute 64-bit binaries on Apple platforms. We have internal builds for this platform, but we don't feel they meet the quality of other builds, and so we are not distributing binaries at this time. You can, however, build ImageVis3D yourself if you desperately need 64-bit support; this section shows you how.
The mile-high view is that you need a 64-bit, Cocoa-backed Qt. Then you need to apply a few changes to the <TT>.pro</TT> files in the ImageVis3D tree. Finally you need to invoke the correct <TT>qmake</TT>, and then build. Since you are building manually, when you're done you probably want to run the ''Scripts/mk_app.sh'' script manually, to create a full-fledged Apple "bundle".
There are two paths for your Qt install. The first is to use a [http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x Qt/Cocoa binary]. The ImageVis3D developers have never used such binaries and have no idea if this path will work. The second is to compile Qt from source manually.
Compiling Qt from source can be a nightmare, but we provide a script that should get you past the heavy lifting, if not do everything for you. Earlier in this section we linked to a script to build Qt ''statically'', but Qt/Cocoa '''must''' be built as a dynamic framework. We supply [https://gforge.sci.utah.edu/gf/project/imagevis3d/scmsvn/?action=browse&path=%2F*checkout*%2FScripts%2FMac-DynamicQt-Cocoa.sh&revision=1471&content-type=text%2Fplain&pathrev=1471 another script] for building Qt in this manner. To compile Qt, download the script, edit it in a text editor to make sure it grabs the Qt version you want, as well as changing the argument to '<TT>arch</TT>' from '<TT>x86</TT>' to '<TT>x86_64</TT>'. Finally, run '<TT>sh Mac-DynamicQt-Cocoa.sh</TT>' in your shell to perform the compilation. This will take 10 to 20 minutes on your average Core 2 Duo iMac.
After you've got Qt installed, the process should be the same regardless of which method you chose for installation.
# Download the ImageVis3D source tree out of its version control repository.
# Edit <TT>ImageVis3D/ImageVis3D.pro</TT>, <TT>Tuvok/Tuvok.pro</TT>, <TT>UVFReader/UVFReader.pro</TT> and <TT>CmdLineConverter/CmdLineConverter.pro</TT> in a text editor. Make sure QT_MAC_USE_COCOA equals 1.
# Run <TT>qmake -recursive</TT>, making sure it invokes the 64-bit Qt/Cocoa qmake that you just installed (you might have multiple versions on your system!).
#* This should print out some messages about doing a "shared build". If it prints our messages about a "static build", then you're either using the wrong <TT>qmake</TT> or you compiled Qt with the wrong options.
# <TT>make</TT>
# <TT>sh Scripts/mk_app.sh</TT>
You can verify you've got a 64-bit executable using the '<TT>file</TT>' command:
file Build/ImageVis3D.app/Contents/MacOS/ImageVis3D
should tell you that the file is a 'Mach-O 64-bit executable x86_64'. If it says 32-bit or just x86, then you've built a 32-bit binary.
Finally, you can start this version of ImageVis3D using '<TT>open Build/ImageVis3D.app</TT>'.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
5505
5504
2010-10-01T16:36:48Z
Tfogal
62
add section nothing import manual.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
==== Experimental 64-bit Mac Builds ====
We do not yet distribute 64-bit binaries on Apple platforms. We have internal builds for this platform, but we don't feel they meet the quality of other builds, and so we are not distributing binaries at this time. You can, however, build ImageVis3D yourself if you desperately need 64-bit support; this section shows you how.
The mile-high view is that you need a 64-bit, Cocoa-backed Qt. Then you need to apply a few changes to the <TT>.pro</TT> files in the ImageVis3D tree. Finally you need to invoke the correct <TT>qmake</TT>, and then build. Since you are building manually, when you're done you probably want to run the ''Scripts/mk_app.sh'' script manually, to create a full-fledged Apple "bundle".
There are two paths for your Qt install. The first is to use a [http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x Qt/Cocoa binary]. The ImageVis3D developers have never used such binaries and have no idea if this path will work. The second is to compile Qt from source manually.
Compiling Qt from source can be a nightmare, but we provide a script that should get you past the heavy lifting, if not do everything for you. Earlier in this section we linked to a script to build Qt ''statically'', but Qt/Cocoa '''must''' be built as a dynamic framework. We supply [https://gforge.sci.utah.edu/gf/project/imagevis3d/scmsvn/?action=browse&path=%2F*checkout*%2FScripts%2FMac-DynamicQt-Cocoa.sh&revision=1471&content-type=text%2Fplain&pathrev=1471 another script] for building Qt in this manner. To compile Qt, download the script, edit it in a text editor to make sure it grabs the Qt version you want, as well as changing the argument to '<TT>arch</TT>' from '<TT>x86</TT>' to '<TT>x86_64</TT>'. Finally, run '<TT>sh Mac-DynamicQt-Cocoa.sh</TT>' in your shell to perform the compilation. This will take 10 to 20 minutes on your average Core 2 Duo iMac.
After you've got Qt installed, the process should be the same regardless of which method you chose for installation.
# Download the ImageVis3D source tree out of its version control repository.
# Edit <TT>ImageVis3D/ImageVis3D.pro</TT>, <TT>Tuvok/Tuvok.pro</TT>, <TT>UVFReader/UVFReader.pro</TT> and <TT>CmdLineConverter/CmdLineConverter.pro</TT> in a text editor. Make sure QT_MAC_USE_COCOA equals 1.
# Run <TT>qmake -recursive</TT>, making sure it invokes the 64-bit Qt/Cocoa qmake that you just installed (you might have multiple versions on your system!).
#* This should print out some messages about doing a "shared build". If it prints our messages about a "static build", then you're either using the wrong <TT>qmake</TT> or you compiled Qt with the wrong options.
# <TT>make</TT>
# <TT>sh Scripts/mk_app.sh</TT>
You can verify you've got a 64-bit executable using the '<TT>file</TT>' command:
file Build/ImageVis3D.app/Contents/MacOS/ImageVis3D
should tell you that the file is a 'Mach-O 64-bit executable x86_64'. If it says 32-bit or just x86, then you've built a 32-bit binary.
Finally, you can start this version of ImageVis3D using '<TT>open Build/ImageVis3D.app</TT>'.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Importing Data ==
The most commonly asked question we get is, "How can I import my data into ImageVis3D?". Every now and again, people also ask us about our custom file format, UVF, why it exists, and if they can use or read such data in other tools.
All of these questions and more are answered in a fairly comprehensive [http://ci.sci.utah.edu:8011/devbuilds/GettingDataIntoImageVis3D.pdf Getting Data into ImageVis3D] document.
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
5506
5505
2010-10-01T16:43:22Z
Tfogal
62
note launchpad, MLs
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
==== Experimental 64-bit Mac Builds ====
We do not yet distribute 64-bit binaries on Apple platforms. We have internal builds for this platform, but we don't feel they meet the quality of other builds, and so we are not distributing binaries at this time. You can, however, build ImageVis3D yourself if you desperately need 64-bit support; this section shows you how.
The mile-high view is that you need a 64-bit, Cocoa-backed Qt. Then you need to apply a few changes to the <TT>.pro</TT> files in the ImageVis3D tree. Finally you need to invoke the correct <TT>qmake</TT>, and then build. Since you are building manually, when you're done you probably want to run the ''Scripts/mk_app.sh'' script manually, to create a full-fledged Apple "bundle".
There are two paths for your Qt install. The first is to use a [http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x Qt/Cocoa binary]. The ImageVis3D developers have never used such binaries and have no idea if this path will work. The second is to compile Qt from source manually.
Compiling Qt from source can be a nightmare, but we provide a script that should get you past the heavy lifting, if not do everything for you. Earlier in this section we linked to a script to build Qt ''statically'', but Qt/Cocoa '''must''' be built as a dynamic framework. We supply [https://gforge.sci.utah.edu/gf/project/imagevis3d/scmsvn/?action=browse&path=%2F*checkout*%2FScripts%2FMac-DynamicQt-Cocoa.sh&revision=1471&content-type=text%2Fplain&pathrev=1471 another script] for building Qt in this manner. To compile Qt, download the script, edit it in a text editor to make sure it grabs the Qt version you want, as well as changing the argument to '<TT>arch</TT>' from '<TT>x86</TT>' to '<TT>x86_64</TT>'. Finally, run '<TT>sh Mac-DynamicQt-Cocoa.sh</TT>' in your shell to perform the compilation. This will take 10 to 20 minutes on your average Core 2 Duo iMac.
After you've got Qt installed, the process should be the same regardless of which method you chose for installation.
# Download the ImageVis3D source tree out of its version control repository.
# Edit <TT>ImageVis3D/ImageVis3D.pro</TT>, <TT>Tuvok/Tuvok.pro</TT>, <TT>UVFReader/UVFReader.pro</TT> and <TT>CmdLineConverter/CmdLineConverter.pro</TT> in a text editor. Make sure QT_MAC_USE_COCOA equals 1.
# Run <TT>qmake -recursive</TT>, making sure it invokes the 64-bit Qt/Cocoa qmake that you just installed (you might have multiple versions on your system!).
#* This should print out some messages about doing a "shared build". If it prints our messages about a "static build", then you're either using the wrong <TT>qmake</TT> or you compiled Qt with the wrong options.
# <TT>make</TT>
# <TT>sh Scripts/mk_app.sh</TT>
You can verify you've got a 64-bit executable using the '<TT>file</TT>' command:
file Build/ImageVis3D.app/Contents/MacOS/ImageVis3D
should tell you that the file is a 'Mach-O 64-bit executable x86_64'. If it says 32-bit or just x86, then you've built a 32-bit binary.
Finally, you can start this version of ImageVis3D using '<TT>open Build/ImageVis3D.app</TT>'.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Importing Data ==
The most commonly asked question we get is, "How can I import my data into ImageVis3D?". Every now and again, people also ask us about our custom file format, UVF, why it exists, and if they can use or read such data in other tools.
All of these questions and more are answered in a fairly comprehensive [http://ci.sci.utah.edu:8011/devbuilds/GettingDataIntoImageVis3D.pdf Getting Data into ImageVis3D] document.
If you have further questions, please contact us on one of the mailing lists mentioned below!
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
We track bugs using the [https://launchpad.net/imagevis3d Launchpad] service. If you use ImageVis3D's builtin bug reporter, it will typically end up as a bug report on Launchpad. You can create a launchpad account to be able to subscribe to bugs and receive email when a related issue comes up, but this is not required.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
5511
5506
2010-11-25T15:48:13Z
Tfogal
62
/* Windows-only Caveats */ Note 4.7 broken.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
'''note''': ''We have heard many reports that iv3d's "Scripts/" as well as iv3d do not work with qt 4.7. This is in our queue and will be resolved. In the meantime, please use qt 4.6 unless you are willing to diagnose and provide patches to fix the 4.7 problems. Thanks!''
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You must build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
==== Experimental 64-bit Mac Builds ====
We do not yet distribute 64-bit binaries on Apple platforms. We have internal builds for this platform, but we don't feel they meet the quality of other builds, and so we are not distributing binaries at this time. You can, however, build ImageVis3D yourself if you desperately need 64-bit support; this section shows you how.
The mile-high view is that you need a 64-bit, Cocoa-backed Qt. Then you need to apply a few changes to the <TT>.pro</TT> files in the ImageVis3D tree. Finally you need to invoke the correct <TT>qmake</TT>, and then build. Since you are building manually, when you're done you probably want to run the ''Scripts/mk_app.sh'' script manually, to create a full-fledged Apple "bundle".
There are two paths for your Qt install. The first is to use a [http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x Qt/Cocoa binary]. The ImageVis3D developers have never used such binaries and have no idea if this path will work. The second is to compile Qt from source manually.
Compiling Qt from source can be a nightmare, but we provide a script that should get you past the heavy lifting, if not do everything for you. Earlier in this section we linked to a script to build Qt ''statically'', but Qt/Cocoa '''must''' be built as a dynamic framework. We supply [https://gforge.sci.utah.edu/gf/project/imagevis3d/scmsvn/?action=browse&path=%2F*checkout*%2FScripts%2FMac-DynamicQt-Cocoa.sh&revision=1471&content-type=text%2Fplain&pathrev=1471 another script] for building Qt in this manner. To compile Qt, download the script, edit it in a text editor to make sure it grabs the Qt version you want, as well as changing the argument to '<TT>arch</TT>' from '<TT>x86</TT>' to '<TT>x86_64</TT>'. Finally, run '<TT>sh Mac-DynamicQt-Cocoa.sh</TT>' in your shell to perform the compilation. This will take 10 to 20 minutes on your average Core 2 Duo iMac.
After you've got Qt installed, the process should be the same regardless of which method you chose for installation.
# Download the ImageVis3D source tree out of its version control repository.
# Edit <TT>ImageVis3D/ImageVis3D.pro</TT>, <TT>Tuvok/Tuvok.pro</TT>, <TT>UVFReader/UVFReader.pro</TT> and <TT>CmdLineConverter/CmdLineConverter.pro</TT> in a text editor. Make sure QT_MAC_USE_COCOA equals 1.
# Run <TT>qmake -recursive</TT>, making sure it invokes the 64-bit Qt/Cocoa qmake that you just installed (you might have multiple versions on your system!).
#* This should print out some messages about doing a "shared build". If it prints our messages about a "static build", then you're either using the wrong <TT>qmake</TT> or you compiled Qt with the wrong options.
# <TT>make</TT>
# <TT>sh Scripts/mk_app.sh</TT>
You can verify you've got a 64-bit executable using the '<TT>file</TT>' command:
file Build/ImageVis3D.app/Contents/MacOS/ImageVis3D
should tell you that the file is a 'Mach-O 64-bit executable x86_64'. If it says 32-bit or just x86, then you've built a 32-bit binary.
Finally, you can start this version of ImageVis3D using '<TT>open Build/ImageVis3D.app</TT>'.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Importing Data ==
The most commonly asked question we get is, "How can I import my data into ImageVis3D?". Every now and again, people also ask us about our custom file format, UVF, why it exists, and if they can use or read such data in other tools.
All of these questions and more are answered in a fairly comprehensive [http://ci.sci.utah.edu:8011/devbuilds/GettingDataIntoImageVis3D.pdf Getting Data into ImageVis3D] document.
If you have further questions, please contact us on one of the mailing lists mentioned below!
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
We track bugs using the [https://launchpad.net/imagevis3d Launchpad] service. If you use ImageVis3D's builtin bug reporter, it will typically end up as a bug report on Launchpad. You can create a launchpad account to be able to subscribe to bugs and receive email when a related issue comes up, but this is not required.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
5512
5511
2010-12-02T01:51:45Z
Tfogal
62
/* Windows-only Caveats */ note that 4.7 is broken.
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
'''note''': ''ImageVis3D exposes [http://bugreports.qt.nokia.com/browse/QTBUG-15782 Qt bug 15782]. As such, Qt 4.7 is unsupported at this time. Please use qt 4.6 for now. Thanks!''
'''double-note''': ''As a result of the aforementioned bug, we cannot support Visual Studio 2010 at this time. Sorry! We'd like to use it just as much as you, and we'll be sure to upgrade as soon as we can!''
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You ''must'' build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
==== Experimental 64-bit Mac Builds ====
We do not yet distribute 64-bit binaries on Apple platforms. We have internal builds for this platform, but we don't feel they meet the quality of other builds, and so we are not distributing binaries at this time. You can, however, build ImageVis3D yourself if you desperately need 64-bit support; this section shows you how.
The mile-high view is that you need a 64-bit, Cocoa-backed Qt. Then you need to apply a few changes to the <TT>.pro</TT> files in the ImageVis3D tree. Finally you need to invoke the correct <TT>qmake</TT>, and then build. Since you are building manually, when you're done you probably want to run the ''Scripts/mk_app.sh'' script manually, to create a full-fledged Apple "bundle".
There are two paths for your Qt install. The first is to use a [http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x Qt/Cocoa binary]. The ImageVis3D developers have never used such binaries and have no idea if this path will work. The second is to compile Qt from source manually.
Compiling Qt from source can be a nightmare, but we provide a script that should get you past the heavy lifting, if not do everything for you. Earlier in this section we linked to a script to build Qt ''statically'', but Qt/Cocoa '''must''' be built as a dynamic framework. We supply [https://gforge.sci.utah.edu/gf/project/imagevis3d/scmsvn/?action=browse&path=%2F*checkout*%2FScripts%2FMac-DynamicQt-Cocoa.sh&revision=1471&content-type=text%2Fplain&pathrev=1471 another script] for building Qt in this manner. To compile Qt, download the script, edit it in a text editor to make sure it grabs the Qt version you want, as well as changing the argument to '<TT>arch</TT>' from '<TT>x86</TT>' to '<TT>x86_64</TT>'. Finally, run '<TT>sh Mac-DynamicQt-Cocoa.sh</TT>' in your shell to perform the compilation. This will take 10 to 20 minutes on your average Core 2 Duo iMac.
After you've got Qt installed, the process should be the same regardless of which method you chose for installation.
# Download the ImageVis3D source tree out of its version control repository.
# Edit <TT>ImageVis3D/ImageVis3D.pro</TT>, <TT>Tuvok/Tuvok.pro</TT>, <TT>UVFReader/UVFReader.pro</TT> and <TT>CmdLineConverter/CmdLineConverter.pro</TT> in a text editor. Make sure QT_MAC_USE_COCOA equals 1.
# Run <TT>qmake -recursive</TT>, making sure it invokes the 64-bit Qt/Cocoa qmake that you just installed (you might have multiple versions on your system!).
#* This should print out some messages about doing a "shared build". If it prints our messages about a "static build", then you're either using the wrong <TT>qmake</TT> or you compiled Qt with the wrong options.
# <TT>make</TT>
# <TT>sh Scripts/mk_app.sh</TT>
You can verify you've got a 64-bit executable using the '<TT>file</TT>' command:
file Build/ImageVis3D.app/Contents/MacOS/ImageVis3D
should tell you that the file is a 'Mach-O 64-bit executable x86_64'. If it says 32-bit or just x86, then you've built a 32-bit binary.
Finally, you can start this version of ImageVis3D using '<TT>open Build/ImageVis3D.app</TT>'.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Importing Data ==
The most commonly asked question we get is, "How can I import my data into ImageVis3D?". Every now and again, people also ask us about our custom file format, UVF, why it exists, and if they can use or read such data in other tools.
All of these questions and more are answered in a fairly comprehensive [http://ci.sci.utah.edu:8011/devbuilds/GettingDataIntoImageVis3D.pdf Getting Data into ImageVis3D] document.
If you have further questions, please contact us on one of the mailing lists mentioned below!
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
We track bugs using the [https://launchpad.net/imagevis3d Launchpad] service. If you use ImageVis3D's builtin bug reporter, it will typically end up as a bug report on Launchpad. You can create a launchpad account to be able to subscribe to bugs and receive email when a related issue comes up, but this is not required.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
ImageVis3DMobile
0
2638
5467
5449
2009-11-20T20:03:56Z
Tfogal
62
/* ImageVis3D Mobile */ remove beta testing links... it's released now.
wikitext
text/x-wiki
ImageVis3D Mobile is a volume rendering application for handheld devices.
= ImageVis3D Mobile =
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile one can transfer their own data directly from a desktop to a mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs). You can download the application via the Apple App Store or request a pre-release from the ImageVis3D team.
== Quickstart Instructions ==
When you start ImageVis3D Mobile it will automatically load your last data set (or one of the demo datasets if you start it for the first time). To interact with the data simply use one finger to rotate and two fingers to zoom in or out. The four buttons on the bottom (from left to right) allow you to view your data; switch the data set and upload new data from your desktop version of Imagevis3D; edit the transfer function; and change settings (note that lighting is only available on the new iPhone 3GS).
== Uploading Data ==
To upload a new dataset to the iPhone/iPod touch switch to the dataset selection view (second icon on the bottom), scroll down to the bottom of the page and select "receive data". In the next screen enter the IP address of the desktop machine that runs ImageVis3D and a port you specified in that desktop. Finally select "Start Transfer". On the desktop side you first need to enable the ImageVis3D Mobile features in the Settings, under "Memory". After turning the ImageVis3D Mobile support on you should see a new option in the "File"-menu named "Transfer To ImageVis3D Mobile Device". Now open the dataset you want to transfer and select this new option. A dialog box opens. If you are transferring data for the first time you should double check the network port is a good one; if you have a firewall installed, note that ImageVis3D uses a single TCP port for the entire communication, (22 by default). After that click start to begin the data set conversion process and then run the network server to which your mobile device well then connect.
=== Windows Firewall ===
On Windows you may see a message from the built-in firewall asking you to allow or deny ImageVis3D access to the network. You must allow ImageVis3D access for data transfer to work. After allowing ImageVis3D access, ''you must click on 'start' again'' to actually start the network server.
== Date exchange from mobile device to mobile device ==
ImageVis3D Mobile also allows you to transfer data directly from one mobile device to the other if both devices support bluetooth. To transfer data simply select "Exchange with other Device" from the "Select Dataset" view on both devices. In the popup window connect to your peer, and finally select the dataset to be transferred on the source device.
== The Transfer Function Editor ==
In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
5479
5467
2010-03-29T13:57:47Z
Jens
63
/* The Transfer Function Editor */
wikitext
text/x-wiki
ImageVis3D Mobile is a volume rendering application for handheld devices.
= ImageVis3D Mobile =
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile one can transfer their own data directly from a desktop to a mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs). You can download the application via the Apple App Store or request a pre-release from the ImageVis3D team.
== Quickstart Instructions ==
When you start ImageVis3D Mobile it will automatically load your last data set (or one of the demo datasets if you start it for the first time). To interact with the data simply use one finger to rotate and two fingers to zoom in or out. The four buttons on the bottom (from left to right) allow you to view your data; switch the data set and upload new data from your desktop version of Imagevis3D; edit the transfer function; and change settings (note that lighting is only available on the new iPhone 3GS).
== Uploading Data ==
To upload a new dataset to the iPhone/iPod touch switch to the dataset selection view (second icon on the bottom), scroll down to the bottom of the page and select "receive data". In the next screen enter the IP address of the desktop machine that runs ImageVis3D and a port you specified in that desktop. Finally select "Start Transfer". On the desktop side you first need to enable the ImageVis3D Mobile features in the Settings, under "Memory". After turning the ImageVis3D Mobile support on you should see a new option in the "File"-menu named "Transfer To ImageVis3D Mobile Device". Now open the dataset you want to transfer and select this new option. A dialog box opens. If you are transferring data for the first time you should double check the network port is a good one; if you have a firewall installed, note that ImageVis3D uses a single TCP port for the entire communication, (22 by default). After that click start to begin the data set conversion process and then run the network server to which your mobile device well then connect.
=== Windows Firewall ===
On Windows you may see a message from the built-in firewall asking you to allow or deny ImageVis3D access to the network. You must allow ImageVis3D access for data transfer to work. After allowing ImageVis3D access, ''you must click on 'start' again'' to actually start the network server.
== Date exchange from mobile device to mobile device ==
ImageVis3D Mobile also allows you to transfer data directly from one mobile device to the other if both devices support bluetooth. To transfer data simply select "Exchange with other Device" from the "Select Dataset" view on both devices. In the popup window connect to your peer, and finally select the dataset to be transferred on the source device.
== The Transfer Function Editor ==
Since Version 1.1 the transfer function editor is not in a seperate tab anymore but rendered as an overlay over the actual data. To start it simpy double tab on the dataser, In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
5480
5479
2010-04-17T20:51:15Z
Jens
63
wikitext
text/x-wiki
ImageVis3D Mobile is a volume rendering application for handheld devices.
= ImageVis3D Mobile =
<span style="color:#FF0000">Approved Beta testers please click </span>[[ImageVis3DMobileBeta|this link]]<span style="color:#FF0000"> for instructions on how to install the latest version on your device. To apply for the ImageVis3D beta program please</span> [[ImageVis3DMobileBetaApplication|follow this link]].
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile one can transfer their own data directly from a desktop to a mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs). You can download the application via the Apple App Store or request a pre-release from the ImageVis3D team.
== Quickstart Instructions ==
When you start ImageVis3D Mobile it will automatically load your last data set (or one of the demo datasets if you start it for the first time). To interact with the data simply use one finger to rotate and two fingers to zoom in or out. The four buttons on the bottom (from left to right) allow you to view your data; switch the data set and upload new data from your desktop version of Imagevis3D; edit the transfer function; and change settings (note that lighting is only available on the new iPhone 3GS).
== Uploading Data ==
To upload a new dataset to the iPhone/iPod touch switch to the dataset selection view (second icon on the bottom), scroll down to the bottom of the page and select "receive data". In the next screen enter the IP address of the desktop machine that runs ImageVis3D and a port you specified in that desktop. Finally select "Start Transfer". On the desktop side you first need to enable the ImageVis3D Mobile features in the Settings, under "Memory". After turning the ImageVis3D Mobile support on you should see a new option in the "File"-menu named "Transfer To ImageVis3D Mobile Device". Now open the dataset you want to transfer and select this new option. A dialog box opens. If you are transferring data for the first time you should double check the network port is a good one; if you have a firewall installed, note that ImageVis3D uses a single TCP port for the entire communication, (22 by default). After that click start to begin the data set conversion process and then run the network server to which your mobile device well then connect.
=== Windows Firewall ===
On Windows you may see a message from the built-in firewall asking you to allow or deny ImageVis3D access to the network. You must allow ImageVis3D access for data transfer to work. After allowing ImageVis3D access, ''you must click on 'start' again'' to actually start the network server.
== Date exchange from mobile device to mobile device ==
ImageVis3D Mobile also allows you to transfer data directly from one mobile device to the other if both devices support bluetooth. To transfer data simply select "Exchange with other Device" from the "Select Dataset" view on both devices. In the popup window connect to your peer, and finally select the dataset to be transferred on the source device.
== The Transfer Function Editor ==
Since Version 1.1 the transfer function editor is not in a seperate tab anymore but rendered as an overlay over the actual data. To start it simpy double tab on the dataser, In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
5490
5480
2010-06-04T12:36:09Z
Jens
63
wikitext
text/x-wiki
ImageVis3D Mobile is a volume rendering application for handheld devices.
= ImageVis3D Mobile =
<span style="color:#FF0000">Approved Beta testers for ImageVis3D Mobile 2.0 please click </span>[[ImageVis3DMobileBeta|this link]]<span style="color:#FF0000"> for instructions on how to install the latest version on your device. To apply for the ImageVis3D Mobile 2.0 beta program please</span> [[ImageVis3DMobileBetaApplication|follow this link]].
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile one can transfer their own data directly from a desktop to a mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs). You can download the application via the Apple App Store or request a pre-release from the ImageVis3D team.
== Quickstart Instructions ==
When you start ImageVis3D Mobile it will automatically load your last data set (or one of the demo datasets if you start it for the first time). To interact with the data simply use one finger to rotate and two fingers to zoom in or out. The four buttons on the bottom (from left to right) allow you to view your data; switch the data set and upload new data from your desktop version of Imagevis3D; edit the transfer function; and change settings (note that lighting is only available on the new iPhone 3GS).
== Uploading Data ==
To upload a new dataset to the iPhone/iPod touch switch to the dataset selection view (second icon on the bottom), scroll down to the bottom of the page and select "receive data". In the next screen enter the IP address of the desktop machine that runs ImageVis3D and a port you specified in that desktop. Finally select "Start Transfer". On the desktop side you first need to enable the ImageVis3D Mobile features in the Settings, under "Memory". After turning the ImageVis3D Mobile support on you should see a new option in the "File"-menu named "Transfer To ImageVis3D Mobile Device". Now open the dataset you want to transfer and select this new option. A dialog box opens. If you are transferring data for the first time you should double check the network port is a good one; if you have a firewall installed, note that ImageVis3D uses a single TCP port for the entire communication, (22 by default). After that click start to begin the data set conversion process and then run the network server to which your mobile device well then connect.
=== Windows Firewall ===
On Windows you may see a message from the built-in firewall asking you to allow or deny ImageVis3D access to the network. You must allow ImageVis3D access for data transfer to work. After allowing ImageVis3D access, ''you must click on 'start' again'' to actually start the network server.
== Date exchange from mobile device to mobile device ==
ImageVis3D Mobile also allows you to transfer data directly from one mobile device to the other if both devices support bluetooth. To transfer data simply select "Exchange with other Device" from the "Select Dataset" view on both devices. In the popup window connect to your peer, and finally select the dataset to be transferred on the source device.
== The Transfer Function Editor ==
Since Version 1.1 the transfer function editor is not in a seperate tab anymore but rendered as an overlay over the actual data. To start it simpy double tab on the dataser, In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
5510
5490
2010-10-10T11:03:45Z
Jens
63
wikitext
text/x-wiki
ImageVis3D Mobile is a volume rendering application for handheld devices.
= ImageVis3D Mobile =
<span style="color:#FF0000">Approved Beta testers for ImageVis3D Mobile 2.0 please click </span>[[ImageVis3DMobileBeta|this link]]<span style="color:#FF0000"> for instructions on how to install the latest version on your device. To apply for the ImageVis3D Mobile 2.0 beta program please</span> [[ImageVis3DMobileBetaApplication|follow this link]].
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile one can transfer their own data directly from a desktop to a mobile device. ImageVis3D supports all iPod touches and iPhones (including the new iPhone 3Gs). You can download the application via the Apple App Store or request a pre-release from the ImageVis3D team.
== Quickstart Instructions ==
When you start ImageVis3D Mobile it will automatically load your last data set (or one of the demo datasets if you start it for the first time). To interact with the data simply use one finger to rotate and two fingers to zoom in or out. The four buttons on the bottom (from left to right) allow you to view your data; switch the data set and upload new data from your desktop version of ImageVis3D; edit the transfer function; and change settings (note that lighting is only available on the new iPhone 3GS).
== Uploading Data ==
Since ImageVis3D Mobile 2.0 we use a different mechanism than before of transfering data from ImageVis3D to ImageVis3D Mobile, please see the manual at [http://ivda.cs.uni-saarland.de/fileadmin/IV3Dm/UserGuide2.0.pdf here] for details.
=== Windows Firewall ===
On Windows you may see a message from the built-in firewall asking you to allow or deny ImageVis3D access to the network. You must allow ImageVis3D access for data transfer to work. After allowing ImageVis3D access, ''you must click on 'start' again'' to actually start the network server.
== Date exchange from mobile device to mobile device ==
<span style="color:#FF0000">Note: this feature is disabled in Version 2.0 but will return in the next release 2.1<span style="color:#FF0000">
ImageVis3D Mobile also allows you to transfer data directly from one mobile device to the other if both devices support bluetooth. To transfer data simply select "Exchange with other Device" from the "Select Dataset" view on both devices. In the popup window connect to your peer, and finally select the dataset to be transferred on the source device.
== The Transfer Function Editor ==
Since Version 1.1 the transfer function editor is not in a separate tab anymore but rendered as an overlay over the actual data. To start it simply double tab on the dataset, In the transfer function editor you can draw the transfer function for red, green, blue, and the opacity just like in ImageVis3D. Use the square in the top left corner to toggle the component you want to edit. To return to the main screen hit the screen with two fingers.
File:BioMesh3DGuide.pdf
6
2642
5468
5454
2009-11-20T23:08:45Z
Ayla
57
uploaded a new version of "[[Image:BioMesh3DGuide.pdf]]"
wikitext
text/x-wiki
BioMesh3D users guide
IV3D-Buildbot
0
2644
5474
2010-01-19T01:51:37Z
Tfogal
62
New page: ImageVis3D uses a buildbot to automate compilation on supported platforms. = Windows Setup = == Prerequisites == * Of course, setup your build env just as you would to compile ImageVis3...
wikitext
text/x-wiki
ImageVis3D uses a buildbot to automate compilation on supported platforms.
= Windows Setup =
== Prerequisites ==
* Of course, setup your build env just as you would to compile ImageVis3D normally. One special note: do '''not''' install MSVC to a non-standard location.
* Subversion, with command line client. Author recommends [http://www.sliksvn.com/en/download SilkSVN]
* GnuWin32 [http://gnuwin32.sourceforge.net/downlinks/grep-bin.php grep]
* GnuWin32 [http://gnuwin32.sourceforge.net/downlinks/gawk.php gawk]
== Path settings ==
Add directories to your PATH variable so that 'svn', 'awk', and 'grep' work simply by opening a visual studio shell. SilkSVN appears to do this by default. By default, GnuWin32 will place awk and grep in ''C:\Program Files (x86)\GnuWin32\bin''
5475
5474
2010-01-19T01:56:40Z
Tfogal
62
wikitext
text/x-wiki
ImageVis3D uses a buildbot to automate compilation on supported platforms.
= Windows Setup =
== Prerequisites ==
* Of course, setup your build env just as you would to compile ImageVis3D normally. One special note: do '''not''' install MSVC to a non-standard location.
* Subversion, with command line client. Author recommends [http://www.sliksvn.com/en/download SilkSVN]
* GnuWin32 [http://gnuwin32.sourceforge.net/downlinks/grep-bin.php grep]
* GnuWin32 [http://gnuwin32.sourceforge.net/downlinks/gawk.php gawk]
You could probably also install the full GnuWin32 package, or even Cygwin, if you'd like. Such configurations are untested.
== Path settings ==
Add directories to your PATH variable so that 'svn', 'awk', and 'grep' work simply by opening a visual studio shell. SilkSVN appears to do this by default. By default, GnuWin32 will place awk and grep in ''C:\Program Files (x86)\GnuWin32\bin''
CIBC:ImageVis3D ChangeLog1.3
0
2645
5476
2010-02-19T00:34:01Z
Tfogal
62
uploaded 1.3 release notes
wikitext
text/x-wiki
= ImageVis3D 1.3 =
The ImageVis3D team is proud to announce the release of ImageVis3D 1.3!
ImageVis3D is a desktop volume rendering application which was designed to visualize large data. Support is available for multiple rendering modes, such as 1D and 2D transfer functions, isosurface rendering, as well as specialized modes such as MIP and slice views. On modern systems, ImageVis3D's GPU-accelerated rendering delivers incredible performance, while compatibility options exist to allow ImageVis3D to perform adequately on older systems.
ImageVis3D 1.3 is a major release, bringing many new features and a
great number of bugfixes. Changes since 1.2 include:
== New Features ==
* Long running operations (such as capturing rotations) can now be cancelled.
* (Temporarily) allow LoadDataset to be 'interactive' in scripting mode, which allows conversion of raw data in this mode.
* The maximum brick size used is now a configurable parameter in the settings. This brings us a step closer to supporting integrated Intel chipsets.
* "Capture mode", which is enabled when capturing a rotation or scripting ImageVis3D, will now always render the data at its native resolution.
* Page up/Page down can be used to move a slice 10% through the dataset. Use the mouse wheel for fine-scale positioning.
* ImageVis3D can now quantize data down to 8bit when exporting to ImageVis3D Mobile. This will be needed in future incarnations of the Mobile tool.
== Bugs fixed in this release ==
* A Mac-only crash which could occur while closing a render window was fixed.
* Instead of crashing(!), users are warned when their video card lacks the needed 3D texture size, and asked if they want to proceed at their own risk.
* A bug was fixed loading some types of embedded JPEGs in DICOMs.
* Clip planes now properly respect relative locking.
* The progress viewer is now kept up to date while capturing a rotation.
* Mouse wheel rotations were normalized when iterating through slice views, in particular to ensure that "mighty mouse" Mac mice will not scroll too quickly.
* Interaction with ImageVis3D Mobile was added to the manual's documentation.
* Reset ("r") now properly resets window sizes in 2x2 mode.
* ImageVis3D now draws circular control widget for all controllable points in the "Basic" mode 2D transfer function editor, instead of just the first few.
* Fixed a bug in the rotation direction when capturing a MIP rotation for some views.
* A bug was fixed rendering iso-surfaces when in 2x2 mode.
* Capturing a "sequence frame" in previous versions could, in some circumstances, append an incorrect number. The semantics were updated slightly to make the "last saved image number" detection more robust.
* Directories which do not open will not be closed; in rare cases, this used to cause crashes on Mac systems.
* ImageVis3D is now more forgiving for the case of converting multiple different files at the same time.
* Fix loading/conversion of unsigned 16bit data (silently/accidently truncated to 12 bits in 1.2.0).
* Use the correct dataset scaling factors when exporting to IV3D Mobile.
* Conversion of RGBA datasets was fixed by updating the calculation of the size of a UVF data block.
* The Fraunhofer EZRT ("REK") converter was updated to remove assumptions of machine and data file endianness.
== Changes which are only of interest to developers ==
* The "Upload" button was removed from the debug log UI. The anonymous error reports it produced were never useful.
* The version of Qt used was upgraded to 4.6.0.
* Some documentation was added to the repository on how to define your own converter. Users will need to build ImageVis3D from source for this.
* Many Tuvok classes were (finally) moved into the "tuvok" namespace.
== Known issues with this release ==
* The 'Stack' ("stk"), single-file TIFF volume, and Fraunhofer EZRT ("rek") file formats can only be read, not written.
* The 'Brick Of Values' (BOV) reader does not support BOVs in which the data are split across multiple files.
* RGBA is the only kind of multicomponent data supported.
* NVIDIA GPUs on both Linux and Macs expose a driver issue which can hang the system for prolonged periods of time. To workaround this issue, we recommend sticking with the slice based volume renderer on Mac and Linux for this release.
* Full-color datasets do not display a proper histogram in the transfer function editors.
* In any mode but MIP, the `Recorder' always uses the highest resolution data, regardless of any other settings.
* In the "Disable LOD" mode of MIP Recordings, progress information is not given. Progress is being made; a visibly-correct rendering is not required to create an on-disk image which is visibly correct.
* The ClearView lens does not position itself properly when the screen is in low-res mode to achieve faster rendering.
* On some systems, making a render window larger does not in and of itself does not cause the window to update its rendering. As a workaround, Dragging the window or opening a menu forces an update.
ImageVis3D 1.3 supports Intel Macs 10.5 and up (10.5.8 highly
recommended), Windows, and Linux. Binaries are available at:
http://www.sci.utah.edu/download/imagevis3d.html
the nightly 'developer builds' site:
http://www.sci.utah.edu/devbuilds/imagevis3d/
or you can get the source directly from our subversion repository,
using the 'svn' command:
svn co https://gforge.sci.utah.edu/svn/imagevis3d
or any other subversion client. We look forward to your feedback on
this release. Best,
- The ImageVis3D team.
Main Page
0
1
5477
5459
2010-02-22T21:11:53Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5499
5477
2010-07-13T20:45:01Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Pleeease Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5500
5499
2010-07-13T20:45:15Z
Erikj
2
/* Pleeease Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
ImageVis3DMobileBeta
0
2640
5481
5453
2010-04-21T06:22:48Z
Jens
63
added iPad
wikitext
text/x-wiki
== ImageVis3D Mobile Ad-Hoc Distribution Installation ==
Once you send your device ID to the ImageVis3D Mobile team and have received confirmation that your application has been accepted, follow these steps:
# Download the mobile provision and application zip files from [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ here]
# Connect the device to your Mac or PC.
# Drag the attached mobileprovision file into your media library in itunes
# Extract the attached *.zip file and drag the *.app file into your media library in itunes
# Sync your iPhone, iPod touch, or iPad
# Disconnect the device and enjoy ImageVis3D Mobile
'''Note:''' The app will '''not''' work on your device before you received confirmation and we included your ID in the distribution!
Please report any bugs, issues, feature requests to [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
Again, this process only works if you are a [[ImageVis3DMobileBetaApplication | confirmed beta tester]].
5483
5481
2010-05-13T02:18:29Z
Jens
63
added link to unstall page
wikitext
text/x-wiki
== ImageVis3D Mobile Ad-Hoc Distribution Installation ==
Once you send your device ID to the ImageVis3D Mobile team and have received confirmation that your application has been accepted, follow these steps:
# If you have previously installed a beta of ImageVis3D mobile you first need to unistall it [[ImageVis3DMobileBetaCleanup | click here]].
# Download the mobile provision and application zip files from [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ here]
# Connect the device to your Mac or PC.
# Drag the attached mobileprovision file into your media library in itunes
# Extract the attached *.zip file and drag the *.app file into your media library in itunes
# Sync your iPhone, iPod touch, or iPad
# Disconnect the device and enjoy ImageVis3D Mobile
'''Note:''' The app will '''not''' work on your device before you received confirmation and we included your ID in the distribution!
Please report any bugs, issues, feature requests to [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
Again, this process only works if you are a [[ImageVis3DMobileBetaApplication | confirmed beta tester]].
5491
5483
2010-06-04T12:38:59Z
Jens
63
wikitext
text/x-wiki
== ImageVis3D Mobile Ad-Hoc Distribution Installation ==
Once you send your device ID to the ImageVis3D Mobile team and have received confirmation that your application has been accepted, follow these steps:
# If you have previously installed a beta of ImageVis3D mobile you first need to unistall it [[ImageVis3DMobileBetaCleanup | click here]].
# Download the mobile provision from [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ImageVis3D_Mobile_Profile_AdHoc.mobileprovision here]
# Connect the device to your Mac or PC.
# Drag the attached mobileprovision file into your media library in itunes
# Download the application [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ImageVis3DMobile.ipa here] and open it with iTunes
# Sync your iPhone, iPod touch, or iPad
# Disconnect the device and enjoy ImageVis3D Mobile
'''Note:''' The app will '''not''' work on your device before you received confirmation and we included your ID in the distribution!
Please report any bugs, issues, feature requests to [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
Again, this process only works if you are a [[ImageVis3DMobileBetaApplication | confirmed beta tester]].
5507
5491
2010-10-10T10:44:59Z
Jens
63
wikitext
text/x-wiki
== ImageVis3D Mobile Ad-Hoc Distribution Installation ==
Once you send your device ID to the ImageVis3D Mobile team and have received confirmation that your application has been accepted, follow these steps:
# If you have previously installed a beta of ImageVis3D mobile you first need to unistall it [[ImageVis3DMobileBetaCleanup | click here]].
# Download the mobile provision from [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ImageVis3D_Mobile_Profile_AdHoc.mobileprovision here]
# Connect the device to your Mac or PC.
# Drag the attached mobileprovision file into your media library in itunes
# Download the application [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ImageVis3DMobile.zip here] and open it with iTunes
# Sync your iPhone, iPod touch, or iPad
# Disconnect the device and enjoy ImageVis3D Mobile
'''Note:''' The app will '''not''' work on your device before you received confirmation and we included your ID in the distribution!
Please report any bugs, issues, feature requests to [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
Again, this process only works if you are a [[ImageVis3DMobileBetaApplication | confirmed beta tester]].
5508
5507
2010-10-10T10:57:16Z
Jens
63
added note on the new dataset server
wikitext
text/x-wiki
== ImageVis3D Mobile Ad-Hoc Distribution Installation ==
Once you send your device ID to the ImageVis3D Mobile team and have received confirmation that your application has been accepted, follow these steps:
# If you have previously installed a beta of ImageVis3D mobile you first need to unistall it [[ImageVis3DMobileBetaCleanup | click here]].
# Download the mobile provision from [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ImageVis3D_Mobile_Profile_AdHoc.mobileprovision here]
# Connect the device to your Mac or PC.
# Drag the attached mobileprovision file into your media library in itunes
# Download the application [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ImageVis3DMobile.zip here] unpack it and drag it into iTunes
# Sync your iPhone, iPod touch, or iPad
# Disconnect the device and enjoy ImageVis3D Mobile
'''Note:''' The app will '''not''' work on your device before you received confirmation and we included your ID in the distribution!
'''Another Note:''' Since ImageVis3D Mobile 2.0 we use a different mecahnism of transfering data from ImageVis3D to ImageVis3D Mobile, please see the manual at http://ivda.cs.uni-saarland.de/fileadmin/IV3Dm/UserGuide2.0.pdf here] for details.
Please report any bugs, issues, feature requests to [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
Again, this process only works if you are a [[ImageVis3DMobileBetaApplication | confirmed beta tester]].
5509
5508
2010-10-10T10:58:48Z
Jens
63
formatting
wikitext
text/x-wiki
== ImageVis3D Mobile Ad-Hoc Distribution Installation ==
Once you send your device ID to the ImageVis3D Mobile team and have received confirmation that your application has been accepted, follow these steps:
# If you have previously installed a beta of ImageVis3D mobile you first need to unistall it [[ImageVis3DMobileBetaCleanup | click here]].
# Download the mobile provision from [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ImageVis3D_Mobile_Profile_AdHoc.mobileprovision here]
# Connect the device to your Mac or PC.
# Drag the attached mobileprovision file into your media library in itunes
# Download the application [http://www.sci.utah.edu/~jens/ImageVis3DMobile/ImageVis3DMobile.zip here] unpack it and drag it into iTunes
# Sync your iPhone, iPod touch, or iPad
# Disconnect the device and enjoy ImageVis3D Mobile
'''Note:''' The app will '''not''' work on your device before you received confirmation and we included your ID in the distribution!
'''Another Note:''' Since ImageVis3D Mobile 2.0 we use a different mecahnism of transfering data from ImageVis3D to ImageVis3D Mobile, please see the manual at [http://ivda.cs.uni-saarland.de/fileadmin/IV3Dm/UserGuide2.0.pdf here] for details.
Please report any bugs, issues, feature requests to [mailto:jens@sci.uitah.edu jens@sci.utah.edu]
Again, this process only works if you are a [[ImageVis3DMobileBetaApplication | confirmed beta tester]].
ImageVis3DMobileBetaApplication
0
2641
5482
5452
2010-04-21T06:23:34Z
Jens
63
added iPad
wikitext
text/x-wiki
== ImageVis3D Mobile Beta Application ==
To apply for the ImageVis3DMobile beta you need an iPhone, Pod touch (any generation works) with the iPhone OS 3.0 installed, or an iPad. If have such a configuration perform the following steps:
# Connect the device to your Mac or PC.
# On the "Summary" tab in iTunes, click the "Serial Number" label. You'll notice "Serial Number" changes to "Identifier".
# Click on "Edit" in the menu at the top and select "Copy".
# Paste the device ID into an email together with your device type (e.g. iPhone, iPhone 3G, iPhone 3Gs, iPod Touch first gen, iPod Touch second gen, if you do not know your device type simply write "unknown device") and send it to [mailto:jens@sci.uitah.edu jens@sci.utah.edu].
# Wait for a mail back from us.
'''AFTER''' you receive confirmation that you have been accepted for the program proceed to the download instructions [[ImageVis3DMobileBeta|here]]. Note that is an official iPhone/iPod touch beta application and thus it is '''not''' required that you use the 'jailbreak' software on your iPhone/iPod touch to install it.
5486
5482
2010-05-13T02:25:37Z
Jens
63
/* ImageVis3D Mobile Beta Application */
wikitext
text/x-wiki
== ImageVis3D Mobile Beta Application ==
To apply for the ImageVis3DMobile beta you need an iPad, iPhone, Pod touch (any generation works) with the iPhone OS 3.0 installed, or an iPad. If have such a configuration perform the following steps:
# Connect the device to your Mac or PC.
# On the "Summary" tab in iTunes, click the "Serial Number" label. You'll notice "Serial Number" changes to "Identifier".
# Click on "Edit" in the menu at the top and select "Copy".
# Paste the device ID into an email together with your device type (e.g. iPad, iPhone, iPhone 3G, iPhone 3Gs, any iPod Touch, if you do not know your device type simply write "unknown device") and send it to [mailto:jens@sci.uitah.edu jens@sci.utah.edu].
# Wait for a mail back from us.
'''AFTER''' you receive confirmation that you have been accepted for the program proceed to the download instructions [[ImageVis3DMobileBeta|here]]. Note that is an official iPad/iPhone/iPod touch beta application and thus it is '''not''' required that you use the 'jailbreak' software on your iPad/iPhone/iPod touch to install it.
ImageVis3DMobileBetaCleanup
0
2646
5484
2010-05-13T02:22:02Z
Jens
63
Created page with '== ImageVis3D Mobile Beta Uninstall == # delete ImageVis3D Mobile from iTunes # delete ImageVis3D Mobile from your device(s) # delete all ImageVis3D provisioning profiles form t…'
wikitext
text/x-wiki
== ImageVis3D Mobile Beta Uninstall ==
# delete ImageVis3D Mobile from iTunes
# delete ImageVis3D Mobile from your device(s)
# delete all ImageVis3D provisioning profiles form the device
## on your device tab go onto settings
## select profile
## delete all profiles that start with "ImageVis3D Mobile"
# connect your device to your Mac / PC
5485
5484
2010-05-13T02:23:44Z
Jens
63
/* ImageVis3D Mobile Beta Uninstall */
wikitext
text/x-wiki
== ImageVis3D Mobile Beta Uninstall ==
# delete ImageVis3D Mobile from iTunes
# delete ImageVis3D Mobile from your device(s)
# delete all ImageVis3D provisioning profiles form the device
## on your device tab go onto settings
## select profile
## delete all profiles that start with "ImageVis3D Mobile"
# connect your device to your Mac / PC
return to [[ImageVis3DMobileBeta | beta install]].
5487
5485
2010-05-13T02:27:26Z
Jens
63
/* ImageVis3D Mobile Beta Uninstall */
wikitext
text/x-wiki
== ImageVis3D Mobile Beta Uninstall ==
# delete ImageVis3D Mobile from iTunes
# delete ImageVis3D Mobile from your device(s)
# delete all ImageVis3D provisioning profiles form all of your device(s)
## on each device tab onto "settings"
## select "profiles"
## delete all profiles that start with "ImageVis3D Mobile"
# connect your device to your Mac / PC
return to [[ImageVis3DMobileBeta | beta install]].
Collab:Project:Afib
200
2591
5498
5116
2010-07-13T20:44:32Z
Erikj
2
Blanked the page
wikitext
text/x-wiki
CIBC:ImageVis3D
0
2614
5513
5512
2010-12-02T01:53:32Z
Tfogal
62
/* Experimental 64-bit Mac Builds */ note experimental patches to glew
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
'''note''': ''ImageVis3D exposes [http://bugreports.qt.nokia.com/browse/QTBUG-15782 Qt bug 15782]. As such, Qt 4.7 is unsupported at this time. Please use qt 4.6 for now. Thanks!''
'''double-note''': ''As a result of the aforementioned bug, we cannot support Visual Studio 2010 at this time. Sorry! We'd like to use it just as much as you, and we'll be sure to upgrade as soon as we can!''
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You ''must'' build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
==== Experimental 64-bit Mac Builds ====
We do not yet distribute 64-bit binaries on Apple platforms. We have internal builds for this platform, but we don't feel they meet the quality of other builds, and so we are not distributing binaries at this time. You can, however, build ImageVis3D yourself if you desperately need 64-bit support; this section shows you how.
The mile-high view is that you need a 64-bit, Cocoa-backed Qt. Then you need to apply a few changes to the <TT>.pro</TT> files in the ImageVis3D tree. Finally you need to invoke the correct <TT>qmake</TT>, and then build. Since you are building manually, when you're done you probably want to run the ''Scripts/mk_app.sh'' script manually, to create a full-fledged Apple "bundle".
There are two paths for your Qt install. The first is to use a [http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x Qt/Cocoa binary]. The ImageVis3D developers have never used such binaries and have no idea if this path will work. The second is to compile Qt from source manually.
Compiling Qt from source can be a nightmare, but we provide a script that should get you past the heavy lifting, if not do everything for you. Earlier in this section we linked to a script to build Qt ''statically'', but Qt/Cocoa '''must''' be built as a dynamic framework. We supply [https://gforge.sci.utah.edu/gf/project/imagevis3d/scmsvn/?action=browse&path=%2F*checkout*%2FScripts%2FMac-DynamicQt-Cocoa.sh&revision=1471&content-type=text%2Fplain&pathrev=1471 another script] for building Qt in this manner. To compile Qt, download the script, edit it in a text editor to make sure it grabs the Qt version you want, as well as changing the argument to '<TT>arch</TT>' from '<TT>x86</TT>' to '<TT>x86_64</TT>'. Finally, run '<TT>sh Mac-DynamicQt-Cocoa.sh</TT>' in your shell to perform the compilation. This will take 10 to 20 minutes on your average Core 2 Duo iMac.
After you've got Qt installed, the process should be the same regardless of which method you chose for installation.
# Download the ImageVis3D source tree out of its version control repository.
# Edit <TT>ImageVis3D/ImageVis3D.pro</TT>, <TT>Tuvok/Tuvok.pro</TT>, <TT>UVFReader/UVFReader.pro</TT> and <TT>CmdLineConverter/CmdLineConverter.pro</TT> in a text editor. Make sure QT_MAC_USE_COCOA equals 1.
# Run <TT>qmake -recursive</TT>, making sure it invokes the 64-bit Qt/Cocoa qmake that you just installed (you might have multiple versions on your system!).
#* This should print out some messages about doing a "shared build". If it prints our messages about a "static build", then you're either using the wrong <TT>qmake</TT> or you compiled Qt with the wrong options.
# <TT>make</TT>
# <TT>sh Scripts/mk_app.sh</TT>
You can verify you've got a 64-bit executable using the '<TT>file</TT>' command:
file Build/ImageVis3D.app/Contents/MacOS/ImageVis3D
should tell you that the file is a 'Mach-O 64-bit executable x86_64'. If it says 32-bit or just x86, then you've built a 32-bit binary.
Finally, you can start this version of ImageVis3D using '<TT>open Build/ImageVis3D.app</TT>'.
If you experience inexplicable GL errors, you'll need our special version of GLEW. This is not yet committed to the ImageVis3D tree; for now, please just ask about this on the ''tuvok-developers'' mailing list.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Importing Data ==
The most commonly asked question we get is, "How can I import my data into ImageVis3D?". Every now and again, people also ask us about our custom file format, UVF, why it exists, and if they can use or read such data in other tools.
All of these questions and more are answered in a fairly comprehensive [http://ci.sci.utah.edu:8011/devbuilds/GettingDataIntoImageVis3D.pdf Getting Data into ImageVis3D] document.
If you have further questions, please contact us on one of the mailing lists mentioned below!
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
We track bugs using the [https://launchpad.net/imagevis3d Launchpad] service. If you use ImageVis3D's builtin bug reporter, it will typically end up as a bug report on Launchpad. You can create a launchpad account to be able to subscribe to bugs and receive email when a related issue comes up, but this is not required.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
5514
5513
2010-12-03T05:06:57Z
Tfogal
62
/* Windows-only Caveats */ update qt support info
wikitext
text/x-wiki
[http://www.sci.utah.edu/cibc/wiki/index.php/Main_Page Main CIBC Page]
<br>
[[CIBC:ImageVis3D:Plan|Looking for the old ImageVis3D design page?]]
== Motivation and Overview ==
The goal of ImageVis3D development is to initially replicate the capabilities of the BioImage powerapp and then expand it capabilities to include all the functionality currently within [http://software.sci.utah.edu/scirun.html SCIRun] for visualizing three-dimensional rasterized data. The program is another light weight application in the same vein as [http://www.seg3d.org Seg3D] and [http://www.sci.utah.edu/cibc/software/map3d.html ''map3d'' ] and provides the user with streamlined access to the extensive volume visualization capabilities available from tools developed within the SCI Institute and the NCRR CIBC.
== Getting ImageVis3D ==
=== Download the binary ===
Download [http://www.sci.utah.edu/download/imagevis3d.html milestone releases] or the [http://www.sci.utah.edu/devbuilds/imagevis3d/ latest build] and simply run it. ImageVis3D is generally distributed with all required prerequisites. [[Image:Imagevis3d-no-redist-error.png|thumb|Visual C++ Redist error message on Windows systems]]
For DirectX functionality you also may need to update your DirectX subsystem via this [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en tool].
In addition to the main ImageVis3D program, we also provide a command line tool that allows you to convert your data into ImageVis3D's internal `UVF' format and vice-versa. You can download this UVFConverter [http://software.sci.utah.edu/devbuilds/imagevis3d/ via the devbuilds site]; it will be provided in the next release of ImageVis3D, but there is no official documentation as of yet (just run it with '--help' for now).
In rare instances, Windows users might need to download the Microsoft C++ runtime redistributables ([http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en VS2008SP1 redist x86], [http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en VS2008SP1 redist x64]). If you run the 32bit version of ImageVis3D on a 64bit machine (not recommended), you'll need the 32bit runtime. Unless you see the error depicted on the right, this is not required.
=== Compile it Yourself ===
Assuming that you already have Qt 4.5 or newer on your machine all you have to do to compile ImageVis3D is:
<nowiki>svn co https://gforge.sci.utah.edu/svn/imagevis3d</nowiki>
qmake -recursive
make
If you do not have Qt installed yet, we provide some scripts to aid you in the process.
* ''Windows'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Win-StaticQt.bat
* ''Mac OS X'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Mac-StaticQt.sh
* ''Linux'': https://code.sci.utah.edu/svn/imagevis3d/Scripts/Linux-StaticQt.sh
==== Windows-only Caveats ====
'''note''': ''Recent changes to Qt's static build means that we can support 4.6 and earlier or 4.7. We have chosen to only support Qt 4.7 and later on Windows. You are welcome to hack things to work with 4.6, but you're on your own!''
'''double-note''': ''Visual Studio 2010 is untested at this time. It may work, it may not; we do not officially support it at present.''
If you want to use the visual studio project files on windows you need to set the environment variables QTDIR32 and QTDIR64 (only if you want to compile a 64 bit build) to point to your Qt installation directories. <span style="color:#FF0000">ImageVis3D uses the 'tr1' extensions to C++. This means that you must download and install the Microsoft Visual Studio 2008 Service Pack 1 as well as Microsoft Visual Studio 2008 Feature Pack on when compiling with Microsoft Visual Studio 2008.</span>
Do note that we do '''not''' currently support building via the binaries / Qt SDK supplied by [http://www.qtsoftware.com/ Qt software]. You ''must'' build Qt from source yourself. This restriction is somewhat relaxed on Linux, where distribution-supplied Qt installations tend to be acceptable (make sure you install "-dev" packages!).
==== Experimental 64-bit Mac Builds ====
We do not yet distribute 64-bit binaries on Apple platforms. We have internal builds for this platform, but we don't feel they meet the quality of other builds, and so we are not distributing binaries at this time. You can, however, build ImageVis3D yourself if you desperately need 64-bit support; this section shows you how.
The mile-high view is that you need a 64-bit, Cocoa-backed Qt. Then you need to apply a few changes to the <TT>.pro</TT> files in the ImageVis3D tree. Finally you need to invoke the correct <TT>qmake</TT>, and then build. Since you are building manually, when you're done you probably want to run the ''Scripts/mk_app.sh'' script manually, to create a full-fledged Apple "bundle".
There are two paths for your Qt install. The first is to use a [http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x Qt/Cocoa binary]. The ImageVis3D developers have never used such binaries and have no idea if this path will work. The second is to compile Qt from source manually.
Compiling Qt from source can be a nightmare, but we provide a script that should get you past the heavy lifting, if not do everything for you. Earlier in this section we linked to a script to build Qt ''statically'', but Qt/Cocoa '''must''' be built as a dynamic framework. We supply [https://gforge.sci.utah.edu/gf/project/imagevis3d/scmsvn/?action=browse&path=%2F*checkout*%2FScripts%2FMac-DynamicQt-Cocoa.sh&revision=1471&content-type=text%2Fplain&pathrev=1471 another script] for building Qt in this manner. To compile Qt, download the script, edit it in a text editor to make sure it grabs the Qt version you want, as well as changing the argument to '<TT>arch</TT>' from '<TT>x86</TT>' to '<TT>x86_64</TT>'. Finally, run '<TT>sh Mac-DynamicQt-Cocoa.sh</TT>' in your shell to perform the compilation. This will take 10 to 20 minutes on your average Core 2 Duo iMac.
After you've got Qt installed, the process should be the same regardless of which method you chose for installation.
# Download the ImageVis3D source tree out of its version control repository.
# Edit <TT>ImageVis3D/ImageVis3D.pro</TT>, <TT>Tuvok/Tuvok.pro</TT>, <TT>UVFReader/UVFReader.pro</TT> and <TT>CmdLineConverter/CmdLineConverter.pro</TT> in a text editor. Make sure QT_MAC_USE_COCOA equals 1.
# Run <TT>qmake -recursive</TT>, making sure it invokes the 64-bit Qt/Cocoa qmake that you just installed (you might have multiple versions on your system!).
#* This should print out some messages about doing a "shared build". If it prints our messages about a "static build", then you're either using the wrong <TT>qmake</TT> or you compiled Qt with the wrong options.
# <TT>make</TT>
# <TT>sh Scripts/mk_app.sh</TT>
You can verify you've got a 64-bit executable using the '<TT>file</TT>' command:
file Build/ImageVis3D.app/Contents/MacOS/ImageVis3D
should tell you that the file is a 'Mach-O 64-bit executable x86_64'. If it says 32-bit or just x86, then you've built a 32-bit binary.
Finally, you can start this version of ImageVis3D using '<TT>open Build/ImageVis3D.app</TT>'.
If you experience inexplicable GL errors, you'll need our special version of GLEW. This is not yet committed to the ImageVis3D tree; for now, please just ask about this on the ''tuvok-developers'' mailing list.
=== ImageVis3D Mobile ===
ImageVis3D Mobile is a mobile volume rendering application that allows you visualize and share your data while you are on the go. With ImageVis3D and ImageVis3D Mobile you can transfer your data directly from the desktop to your mobile device. ImageVis3D currently supports all iPod touches and iPhones (including the new iPhone 3Gs). Download the application via the Apple App Store or request a pre-release from the ImageVis3D team. More information and a quick start guide are available [[ImageVis3DMobile|on a dedicated page]].
== Importing Data ==
The most commonly asked question we get is, "How can I import my data into ImageVis3D?". Every now and again, people also ask us about our custom file format, UVF, why it exists, and if they can use or read such data in other tools.
All of these questions and more are answered in a fairly comprehensive [http://ci.sci.utah.edu:8011/devbuilds/GettingDataIntoImageVis3D.pdf Getting Data into ImageVis3D] document.
If you have further questions, please contact us on one of the mailing lists mentioned below!
== Sample Datasets ==
Some sample datasets are now available from the ImageVis3D [http://software.sci.utah.edu/SCIdownload.php?item=IV3DData download page].
== Join the Community ==
ImageVis3D is actively developed, open source software provided under the terms of the MIT license. Most discussion about new features and development happens via a set of mailing lists. These are:
* [http://www.sci.utah.edu/lists/ iv3d-users], where release announcements are made and general user inquiries should be done. We ''greatly'' enjoy getting feedback via this list!
* [https://lists.sci.utah.edu/sympa/subscribe/tuvok-developers tuvok-developers] is where development discussion should happen. If you are writing code for ImageVis3D, you should be subscribed to this list.
* [https://lists.sci.utah.edu/sympa/subscribe/iv3d-develop iv3d-develop], for SCI-related ImageVis3D development. This is how we organize meetings at SCI, discuss what features we'd like to announce for grant requests, and so forth. The mailing list is open access and we do not discourage subscription, but we expect those without a SCI affiliation will find these discussions irrelevant.
The ImageVis3D developers have developed some terminology which are frequently used in the context of ImageVis3D-related activities. A dictionary for these terms:
* "iv3d"/"IV3D"/"ImageVis"/"ImgVis": ImageVis3D
* "Tuvok"/"TUVOK": '''T'''he '''U'''ltimate '''VO'''lume (rendering) '''K'''it -- the renderer that powers ImageVis3D.
* "UVF": ImageVis3D's custom file format, which enables fast access to multiresolution data.
* "scio"/"SCIO"/"the io layer/subsystem": An independent library handling conversion from various data formats to UVF.
=== Report Issues ===
For non-fatal issues (those that don't cause ImageVis3D to crash), please use the `Help | Report an Issue' dialog within ImageVis3D itself. This causes additional debugging information which is useful for ImageVis3D developers to be sent along with your bug report. Further, if the issue is dataset specific, you can upload your dataset easily via this mechanism.
We track bugs using the [https://launchpad.net/imagevis3d Launchpad] service. If you use ImageVis3D's builtin bug reporter, it will typically end up as a bug report on Launchpad. You can create a launchpad account to be able to subscribe to bugs and receive email when a related issue comes up, but this is not required.
For all other issues, we ask that you subscribe to the [http://www.sci.utah.edu/lists/ iv3d-users] mailing list and post any problems you run into there.
== Using ImageVis3D ==
=== Manual ===
ImageVis3D comes with an [http://www.sci.utah.edu/images/docs/imagevis3d.pdf extensive manual].
=== Video Tutorials ===
A series of video tutorials are available which visually describe how to use ImageVis3D. You can find them at the bottom of the [http://www.imagevis3d.org/ main ImageVis3D web site].
Main Page
0
1
5515
5500
2012-02-01T20:46:33Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
2. Current density weighting matrix (Matrix_WeightingInSourceSpace), <math>R^{-\frac{1}{2}}</math>: A priori knowledge (source covariance) about solution space.
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5516
5515
2012-02-01T20:46:45Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
5520
5516
2013-08-16T21:51:00Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
<math>
\operatorname{erfc}(x) =
\frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2}\,dt =
\frac{e^{-x^2}}{x\sqrt{\pi}}\sum_{n=0}^\infty (-1)^n \frac{(2n)!}{n!(2x)^{2n}}
</math>
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
c8732bdf25b5f736230f678cba3e8379bc1629cb
5521
5520
2013-08-16T21:53:52Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
<math>
\operatorname{erfc}(x) =
\frac{3}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2}\,dt =
\frac{e^{-x^2}}{x\sqrt{\pi}}\sum_{n=0}^\infty (-1)^n \frac{(2n)!}{n!(2x)^{2n}}
</math>
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
0456a23c928a3f62ea906baee1cccff6d95cd85a
5522
5521
2013-08-16T21:55:00Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
<math>
\operatorname{erfc}(x) =
\frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2}\,dt =
\frac{e^{-x^2}}{x\sqrt{\pi}}\sum_{n=0}^\infty (-1)^n \frac{(2n)!}{n!(2x)^{2n}}
</math>
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
93a4eaac1daddea7abdfd4046fac0a7811a298ae
5523
5522
2013-08-16T21:56:36Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
<math>\pi=\frac{3}{4} \sqrt{3}+24 \int_0^{1/4}{\sqrt{x-x^2}dx}</math>
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
ac05646914f94531a83907f7726760ea2dd6e37d
5524
5523
2013-08-16T22:02:21Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
<math>\pi=\frac{2}{4} \sqrt{3}+24 \int_0^{1/4}{\sqrt{x-x^2}dx}</math>
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
6313bcc4f9ef9f999ed03d09a288973b85ee0d66
5525
5524
2013-08-16T22:04:04Z
Erikj
2
/* Please Participate! (Get an account) */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
0b75d4cd22beb01c3e991d26e3d59ed2d9250e5c
5526
5525
2013-12-03T05:13:07Z
Erikj
2
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
<math>
\operatorname{erfc}(x) =
\frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2}\,dt =
\frac{e^{-x^2}}{x\sqrt{\pi}}\sum_{n=0}^\infty (-1)^n \frac{(2n)!}{n!(2x)^{2n}}
</math>
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
60f65fa4bf286661e1a99f0786efb273354208dd
5527
5526
2013-12-03T05:13:19Z
Erikj
2
/* Welcome to the Biomedical Software Development,Engineering, and Dissemination Wiki! */
wikitext
text/x-wiki
== Welcome to the Biomedical Software Development,<br>Engineering, and Dissemination Wiki! ==
[[Image:Nih-ncrr-sci_logobar2.jpg]]
=== Please Participate! (Get an account) ===
We welcome and encourage your participation in this wiki. In order to combat wiki spam, however, we have had to remove the ability for users to create their own accounts. Everyone can view the pages intended for public consumption, however an account is required to edit them. This wiki is generally to be edited only by CIBC members and software developers. To get an account, please contact the CIBC site webmaster '''webmaster[at]sci.utah.edu'''. Include your full name and your position and affiliation with CIBC. You may also suggest a desired username for your account. We will set it up for you and email your login info as soon as possible, however some time may be needed to contact a CIBC PI to vouch for you.
This page contains links to the most recent meeting agendas, as well as our current set of active development projects.
Other CIBC content (descriptions of Core, overviews of Collaborations, links to Resources, etc) can be found [[CIBC:General | here]].
<br>
== Projects ==
===Meshing Portal===
;[[CIBC:Meshing| Meshing Portal]]
: Surface generation for tetrahedral meshes
===SCIRun 4===
;[http://www.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun SCIRun 4 Information]
: Overview of where we are with SCIRun 4
===ImageVis3D===
[[CIBC:ImageVis3D | Development Information]]
: Overview of where we are with ImageVis 1.0 and its rendering engine Tuvok
===Design Portal===
;[[CIBC:SoftwareDesign| Software Design Portal]]
:Information on current designs for new functionality
===Collaborations===
[[Collab:Project:Afib | Atrial Fibrillation Project]]
[[CIBC:Project:Triedman | Simulation of Defibrillation in Children (Children's Hospital Boston) ]]
[[CIBC:Project:NCMIR | Segmentation PowerApp for NCMIR ]]
===Development Info===
[http://software.sci.utah.edu/SCIRunDocs/index.php/Main_Page SCIRun Documentation Site]
[[CIBC:Project:module development | Module writing tutorial]]
[[CIBC:Project:Matlab | Matlab Dev FAQ]]
[[CIBC:Project:Windows | Windows support tasks]]
===Technical Projects===
[[CIBC:Project:MeshRefinement | Mesh refinement]]
[[CIBC:Project:TetGen | TetGen Bridge]]
[[CIBC:Project:Power App | afront/marching cubes FE mesh comparison]]
[[CIBC:Project:APP Interface dev | todo list for python algo interface classes]]
== Meetings ==
===NCRR Management Meetings===
[[CIBC:Meetings:Management:Agenda | Continuous Collaboration/Developer Agenda]]
[[CIBC:Meetings:Management:Notes | Specific Meeting Notes ]]
===NCRR Exec Meetings===
[[CIBC:Meetings:Exec:02_Feb_06 | February 2nd, 2006]]
== Workshops ==
=== 2009 Workshops ===
[http://www.sci.utah.edu/cibc_wkshop2009/index.html CIBC 2009 Workshop Jan 18-19, 2009 Official Site]
=== 2008 Workshops ===
[http://www.sci.utah.edu/cibc/workshops/workshop2008/ CIBC 2008 Workshop Dec 4-5, 2008 Official Site]
[[CIBC:Exec:Workshop08 | CIBC Workshop 2008 - Dec 4-5, 2008]]
=== 2006 Workshops ===
[[CIBC:Workshops:WorkshopCRC06 | CRA-NIH Computing Research Challenges in Biomedicine Workshop
- June 15-16, 2006]]
[[CIBC:Workshops:Workshop06 | Workshop April 20/21, 2006]]
== Executive Materials ==
Note: This should be a restricted page with access only to NCRR Exec
[[Exec:CIBC Exec Area]]
0b75d4cd22beb01c3e991d26e3d59ed2d9250e5c
Help talk:Contents
13
999
5517
3137
2012-04-05T15:46:54Z
Erikj
2
Blanked the page
wikitext
text/x-wiki
CIBC:Documentation:SCIRun:Reference:MatlabInterface:InterfaceWithMatlab
0
1071
5518
3207
2012-07-27T21:07:42Z
Ayla
57
/* Local configuration */
wikitext
text/x-wiki
=='''InterfaceWithMatlab'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
:Catagory: Interface
:Author(s): Jeroen Stinstra
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Interactive InterfaceWithMatlab Interface: This module accomplishes a number of steps to integrate MATLAB code into SCIRun, (1) it translates a SCIRun object (field/matrix/nrrd) into a matlabarray and puts the object in the current workspace of matlab, (2) it executes MATLAB code that can be provided within the interface, (3) it translates back the matlabarrays in MATLAB's workspace into SCIRun objects.
====Detailed Description====
This module launches MATLAB as a separate process under control of SCIRun. The process can be on a remote machine or a local machine. In case the module is running on a remote machine the communication with matlab will be through sockets. In the latter case the entry fields in the middle panel of the GUI will need to be filled out with the IP address (it will automatically do a DNS lookup), the port number and a password. A password is only necessary for a remote MATLAB engine that is configured to require a password when launching MATLAB. The current implementation has an optional password in the matlabegine.rc, if this field is left empty no password check is done. The current implementation does not make use of secure sockets, this implementation is still under development. In order to run multiple MATLAB processes simultaneously different sessions can be launched. Each session on the same machine will share the global workspace in MATLAB and code is being executed sequentially for all modules making use of that session. Hence variables declared in the global workspace can be shared between these matlab modules.
Once matlab is launched the intro message will appear in the MATLAB OUTPUT window. The module needs to be executed in order to launch matlab, but will then remain active until the module is destroyed. Alternatively MATLAB can be launched from the InterfaceWithMatlabEngine Status panel in the right lower corner. It can be disconnected using the 'disconnect' button in the same panel. That the MATLAB process is kept alive between executions is done to smoothen the executing of matlab networks and as well to be able to store variables in matlab's workspace for later usage. However before the module is executed the translation table of SCIRun objects to matlab objects needs to be setup. This is accomplished by connecting the SCIRun object to one of the input ports on the module. Note that there are ports for Matrices, Fields and Nrrds. In the translation menu the Field section deals with the translation of fields, the Matrix section with the translation of Matrices and the Nrrd section with the translation of the nrrds. Each line in this translation table refers to one set of input and output ports. First of all the module will need to know how the object should be called in MATLAB, it is going to be a matlab array and thus needs to have a name. Then depending on the SCIRun object the object can be translated into structured arrays or numeric arrays, whose numeric format can be set as well. See the sections below for more details. Then at the end of the line the name of the matlab array that needs to be translated back into a SCIRun object. Here a name is sufficient as the translation process will do the rest. The name can be the same as the input array, but it might refer to another array as well.
The process of running code in MATLAB is accomplished as follows: SCIRun will translate the SCIRun objects into matlab compatible objects and write them in a file and then instructs matlab to read this file. Since all communication is through the stdin of matlab, using files makes sure that the data does not have to be written out in ASCII readable code. The module is smart enough to recognize that it translated objects before. If this is the case it will not do the translation again and it will use the file already generated. When loading data into matlab the objects that were already there with the same name will be overwritten. Subsequently the module will take the code the user entered in the GUI and wrap it in a 'try/catch' environment and execute it in matlab. All output generated on the stdout will be displayed in the module. It will write a tag of when the code starts executing as well one on when the code finished executing. These are markers for the module to keep track of when matlab finishes executing code. Please make sure that your progam does NOT generate output that resembles these markers as it will confuse the InterfaceWithMatlab Interface. Once the end marker is encountered, the module will instruct matlab to save the variables in the workspace so they can be read in by SCIRun.
The third window on the bottom will show the current status of the matlab engine. Note: when session 0 is requested a new session number will be assigned to the matlab process, which has not been used before. The new session number will appear in this status window. This option can be used to give each InterfaceWithMatlabInterface Module its own matlab process running in the background.
====Local configuration====
Before the module can be used, SCIRun needs to know how to run matlab on the local machine. This is accomplished by the configuration file 'matlabengine.rc', which will be created in the SCIRun/services directory in your local HOME directory. This file is copied out of the src tree the first time SCIRun is run. This file configures how matlab should be run. Edit the line 'startmatlab=' to instruct SCIRun how matlab should be started from an 'sh'-compatible shell. If matlab can already be found using the PATH settings in the shell launching SCIRun, this line probably does not need to be altered. All other fields in this file refer to running matlab on a remote machine. In case SCIRun will not be able to launch matlab a message will be displayed asking to check the configuration file.
To open a matlab process on the local machine the 'MATLAB ENGINE ADDRESS' in the GUI needs to have an empty Address and does not require a port. SCIRun will in this case automatically launch matlab locally. In the latter case no password checks are done. The local manager does support multiple sessions. To clarify the word session: a session is a matlab process. When multiple InterfaceWithMatlab modules make use of the same session the workspace in matlab is shared. Hence one module can be used to load a large matrix into matlab, whereas another one can be used to iterate over a process with small matrices, while using the big matrix stored by the first one. This will allow for some efficiency improvements.
====Remote configuration====
In order to run matlab on a different machine then SCIRun, a small server program needs to be run on the remote machine. The latter is called 'scirunremote', this program sets up a socket for listening and launches matlab when a request is made on its socket. This program uses the same 'matlabengine.rc' file as the module (though it will look in the local HOME directory of the remote machine). This configuration file can be used to set a password, restrict login to only certain machines in a certain domain. Currently the communication is over an open socket in the future an openssl implementation will be used for secure connections. In order to launch the scirunremote program, type 'scirunremote -port 5678', or which ever port you want to use. The latter program must be run on the remote system and serves as a daemon for starting all kinds of external programs. When launching this application a list of services will be displayed. For the matlab engine to work properly two services need to be switched on: matlabengine and matlabenginefiletransfer. The currently implementation requires the last one even if there is a shared home directory. In the latter case no files are transfered, and only the names of the directories in which temporary files are stored are exchanged. The latter mechanism will reduce the amount of network traffic and hopefully speed up the function of this module.
====Configuration file====
This section shortly lists the different options that can be set in the configuration file 'SCIRun/services/matlabengine.rc'
START MATLAB: This line describes how a sh-shell should start matlab. This instruction is executed to launch matlab
DISABLE: This will disable the matlabengine in scirunremote. The service cannot be launched and any request for starting the matlabengine will be denied.
PASSWORD: A simple password, as a first line of defense. Better ways will follow.
RHOSTS: A list of machines that are allowed to log into scirunremote to request the matlabengine service. This list should contain all the machines you want to use for running SCIRun. Any machine not on the list will be denied access. If no machine is listed all machines are welcome to log in.
MATLABTIMEOUT: How long should we wait before giving up. Note that matlab often needs a couple of minutes to startup. The time entered here is in seconds.
====How to use the GUI====
[[Image:Reference_MatlabInterface_GUIpic1.png|The three main panels of the GUI and what they represent]]
The GUI is subdivided into three mainparts. The top panel controls the translation from SCIRun objects into matlab objects and vice versa. The middle panel controls where the matlab engine is started and whether a matlab engine is shared with another InterfaceWithMatlab module. The lower panel displays the matlab code that needs to be executed and the output from matlab. The subdivision is shown in figure CROSS REFERENCE.
[[Image:Reference_MatlabInterface_GUIpic2.png|The SCIRun to matlab translation panel]]
The first panel configures the matlabconverter which is used to translate SCIRun objects into matlab objects and vice versa. This matlabconverter is the same as used by the modules MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE, MODULE REFERENCE. The SCIRun objects are translated into matlab files which are stored in a temparory directory that is automatically generated and are subsequently read by matlab. For the translation back into SCIRun a similar mechanism is used which tells matlab to write out the results in matlab files and these files are subsequently loaded into SCIRun. The input options are the same as for the other modules: the first field on the left controls the name that an object has in matlab. This name has to be alphanumeric and needs to adhere to InterfaceWithMatlab's naming convention. When writing matlab code this name can be used to access the object. The second parameter in the list controls the data format used for the matlab objects, i.e. whether the data is written as doubles, floats, or ints; the third parameter controls what kind of object is created. For matrices and nrrd the most logical translation is a multi dimensional matrix, which is thence the default. All the properties and axis settings are lost in such a translation. Hence the option is offered to translate the SCIRun object into a structured array in which each field represents one of the dataelements stored in that SCIRun object. The documentation on which fieldnames are used and how the object is translated, can be found in the documentation of the individual modules doing this translation. A summary of how geometrical data is represented is given below. Concerning the output variables, only the name needs to be known. If the object is not compatible an error message will be generated in the error message GUI of module. This message will also explain why the object could not be translated.
[[Image:Reference_MatlabInterface_GUIpic3.png|GUI for determining where MATLAB should be run]]
The second panel tells SCIRun where to launch MATLAB. For a matlab engine on the local machine leave the Address field empty. For a remote engine enter the DNS or IP address of the remote server. The engine should support IPv6 addresses, although the support has not fully been tested. The second field is the port number for a remote matlab process. Currently the program scirunremote needs to be run on the remote side. This program will allow SCIRun to connect to this machine and run all kinds of remote applications. The program scirunremote needs to be run with a port number, this is the number that needs to be entered here. Optionally a password protection can be added. Currently the implementation of the password is a weak protection and will need some more adjustments in the future.
The fourth entry is a session number. Each matlabengine on a certain host is identified by a unique number. This number is stored by the program launching matlab (scirun on the local machine and scirunremote on the remote machine) and is used to see whether a session is already open. If multiple InterfaceWithMatlab modules refer to the same session, no new matlab engine will be opened in stead these modules will share the use of the matlab engine. If session '0' is used a new non existing session number will be assigned by the matlab engine.
[[Image:Reference_MatlabInterface_GUIpic4.png|The panel for running code in matlab]]
The lower panel contains there parts: the first for setting the code matlab needs to execute, the second for displaying matlab's output and the third for displaying the current status of the matlab engine. The code to be entered should assume that the matrices that have been created out of SCIRun objects already reside in the work space of matlab. In the code that maintains this absolute paths are used to ensure that the matrices can be found. The code will also be embedded in a try-catch statement to make sure that an end marker is generated even if the code crashes. All these measures to run code are hidden in the engine and the user should not worry about them for simple code. The code in that needs to be execute can be loaded and saved as well. So for more complex tasks the matlab code can be written in a different more userfriendly text editor. The extension of the filenames need to .m and are similar to matlab scripts. Please do not confuse these with functions. The latter will not work as functions need the input to be parsed to them. If a function call is desired, put the instruction that calls the function in the matlab code field and not the function code itself.
The second part of the lower panel contains the matlab output. It will display all the output generated by matlab. Currently, it can parse input as well, though that is limited to normal keystrokes. Simple commands may be given, but still the full functionality as found in a shell is not present yet. This latter feature is still experimental and will be expanded in future versions.
The third part of the lower panel, displays the current status of the matlab engine. The information stored here can be used for debugging and to see whether the matlab engine is running properly. The connection to matlab engine can be closed here as well and new connections can be made without the need of executing the module.
====Translation of FIELDS====
The following is an incomplete overview of the translation between SCIRun and MATLAB field objects. The following describes how fields are to be prepared in matlab for it to be used in SCIRun. The opposite process will be done for the input ports. Note that there one can specify whether one ones a structured or numerical matlab array. In case of numerical array only the data from the field is taken and the rest is thrown away. In case of a structured matlab array the data is fitted into a structure with the same fields as described below.
The following sections describe the fields of the structure matrix can be defined and are recognized by the module.
====Unstructured Meshes ====
FIELDNAME .node This field is required for unstructured meshes and defines the position of the nodes within the mesh. This matrix should be a dense 3 by M matrix, where M is the number of nodes.
FIELDNAME .edge This field is required for curve meshes and defines the line elements in the mesh. This matrix should be a dense 2 by N matrix, where N is the number of line segments. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this EDGE matrix is zero, a zero base is assumed.
FIELDNAME .face This field is required for surfaces meshes and defines the surface elements in the mesh. This matrix should be a dense 3 by N matrix for triangulated meshes and a 4 by N matrix for quadsurf meshes. Here N is the number of surface elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this FACE matrix is zero, a zero base is assumed.
FIELDNAME .cell This field is required for volume meshes and defines the volume elements in the mesh. This matrix should be a dense 4 by N matrix for tetrahedral meshes, or a 6 by N matrix for prism shaped volume elements, or a 8 by N matrix for hexahedral elements. Here N is the number of volume elements. The numbers in this mesh refer to the node positions in the NODE matrix. By default it is assumed that the numbering of nodes starts at one. However if one of the indices in this CELL matrix is zero, a zero base is assumed.
====Structured Meshes====
FIELDNAMES x , y , AND z The fields X, Y, and Z form the description of a structured mesh. These fields are 1D, 2D, or 3D matrices defining the structured line, surface, or volume data. The connectivity of these meshes is defined by the position of the matrix, neighboring elements are connected. In this definition matrix X defines the x cartesian co-ordinate of each node, matrix Y the y cartesian co-ordinate and matrix Z the z cartesian co-ordinate. This kind of definition is compatible with MATLAB functions such as ndmesh() and sphere().
====Structured regular Meshes====
As structured matlab arrays:
FIELDNAME .dims This field describes the dimensions of the regular grid and is required for making a regular structured mesh. This field is a vector with 1, 2, or 3 elements describing the dimensions in each direction. Hence depending on this field the module creates a line, a surface, or a volume. This field is required for structured regular meshes.
FIELDNAME .transform This field describes a 4x4 matrix which defines an affine transformation, which is applied to the mesh. This matrix describes rotation, translation and scaling of each node in the regular mesh. This field is optional and does not need to be supplied. In case on transform matrix is defined a regular grid with spacing of 1 in each direction will be generated. [NEED TO ADD MORE DETAILS]
As regular dense matrices:
ImageFields and LatVolFields can be entered as well as dense matrices. A 2D matrix will be translated into an ImageField, and a 3D matrix will be translated into a LatVolField. When entering data as regular matrices, the data is assumed to be on the nodes and to be a scalar double field.
Note: The displaying dimensions between matlab and SCIRun are flipped, in matlab the first dimension is along the vertical axis, whereas in SCIRun it is along the horizontal axis. Depending on the application the data may need to be transposed, in order to make to obtain the proper vertical alignment.
====Field Data====
FIELDNAME .field A matrix specifying scalar/vector/tensor data for each node/element in the mesh. Each subsequent element in this vector is added to the next node/element in the field. Use the field FIELDLOCATION to specify where the data should be located. The module detects the type of data. The tensor and respectively the vector dimension is assumed to be the first one.
FIELDNAME .fieldtype A string specifying the type of data stored in field. Currently three value are accepted: 'scalar', 'vector', and 'tensor'. If this type information is omitted it defaults to 'scalar'
FIELDNAME .fieldat The location of the data. This field is a string describing where the data should be located. The default field location is assumed to be the nodes, meaning each node has a scalar, vector, or tensor value. In case the data is at the nodes, this field does not to be specified. This field is a string with the following options: "node", "edge", "face", or "cell". This field can be a number as well, which will describe the basis order of the element.
The way of specifying a field was different in version 1.22 of SCIRun. The modules still support input through the fields 'vectorfield', 'tensorfield', and 'scalarfield'. However to be compatible with future additions this has been changed to a combination of 'field' and 'fieldtype'. The new fieldwriters will use this convention instead of the old one.
The module will try to reconstruct data, for instance if a matrix is transposed, it will detect this and read the data properly. Most of the fields mentioned are optional and are not necessary. Only choose those fields from the list that are needed to describe your data. Currently not every field type supported by SCIRun is implemented in this module. Hopefully future versions will support more data types and have even less restrictive converters.
==== Example 1: preparing MATLAB file ====
The following lines of MATLAB code demonstrate how to structure a matrix for the use in SCIRun. Assuming that the nodes are specified in nodematrix and the connectivity of these nodes is specified in facematrix
>> geom.node = nodematrix
>> geom.face = facematrix
Opening the file with the InterfaceWithMatlabFieldsReader module will show that there is one data matrix called "geom" whose contents is a TRISURFMESH with no data on any of the node points
In case MATLAB is not available to structure the data, use the MODULE REFERENCE module to read a MATLAB matrix data directly and use the MODULE REFERENCE module to construct a Field out of the Nrrd object.
==== Example 2: Creating a structured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab file with the matlab logo on a structured mesh:
>> [X,Y,DATA] = peaks(100);
>> field.x = X;
>> field.y = Y;
>> field.z = DATA;
>> field.scalarfield = DATA;
This will create a surface mesh in the shape of the peaks logo and uses the z value as its data values. Be sure to specify all the three cartensian coordinates, omitting one will result in the module not to recognise the mesh and it will not display the object in its selection box.
==== Exampe 3: Creating an unstructured mesh ====
The following lines of MATLAB code demonstrate the creation of a matlab fiel with an unstructured tesselated surface:
>> [X,Y,Z] = ndmesh(1:10,1:10,0);
>> field.node = [X(:)'; Y(:)'; Z(:)'];
>> field.face = delauney(X,Y);
>> field.scalarfield = X(:).^2;
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:MatlabInterface|MatlabInterface]]
CIBC:ImageVis3D ChangeLog-2.1.1
0
2647
5519
2012-08-20T23:34:55Z
Tfogal
62
add 2.1.1 changelog
wikitext
text/x-wiki
= ImageVis3D 2.1.1 =
The ImageVis3D team is proud to announce the release of ImageVis3D
2.1.1!
ImageVis3D is a desktop volume rendering application which was designed
to visualize large data. Support is available for multiple rendering
modes, such as 1D and 2D transfer functions, isosurface rendering,
as well as specialized modes such as MIP and slice views. On modern
systems, ImageVis3D's GPU-accelerated rendering delivers incredible
performance, while compatibility options exist to allow ImageVis3D to
perform adequately on older systems.
ImageVis3D 2.1.1 is a minor release, concentrating mostly on bugfixes.
Changes since 2.1.0 include:
== New Features ==
* Added support for GeomView files.
== Bugs fixed in this release ==
* Fixed ClearView crash.
* Fixed clipping plane transformations. Clipping planes now behave as they did prior to 2.1.0.
* Fixed a crash which could occur when converting MetaMorph files.
* Fixed a data corruption bug when converting from certain types of 'wide' data types.
== Changes which are only of interest to developers ==
* Transitioned to C++11.
* Clang is now the default compiler on Mac.
== Known issues with this release ==
* There is a known issue converting color data in a single TIFF file.
* The 'Stack' ("stk"), single-file TIFF volume, and Fraunhofer EZRT ("rek") file formats can only be read, not written.
* The 'Brick Of Values' (BOV) reader does not support BOVs in which the data are split across multiple files.
* RGB[A] are the only kinds of multicomponent data supported.
* NVIDIA GPUs on Linux expose a driver issue which can hang the system for prolonged periods of time. To workaround this issue, we recommend sticking with the slice based volume renderer Linux for this release.
* Full-color data sets do not display a proper histogram in the transfer function editors.
* In any mode but MIP, the 'Recorder' always uses the highest resolution data, regardless of any other settings.
* In the "Disable LOD" mode of MIP Recordings, progress information is not given. Progress is being made; a visibly-correct rendering is not required to create an on-disk image which is visibly correct.
ImageVis3D 2.1.1 supports Intel Macs 10.7 and up (10.8.0 recommended),
Windows, and Linux. Binaries are available at:
http://www.imagevis3d.org/
the 'developer builds' site:
http://ci.sci.utah.edu:8011/devbuilds/
the 'sci' PPA on Launchpad (Linux only):
https://launchpad.net/~tfogal/+archive/ppa
or you can get the source directly from our subversion repository,
using the 'svn' command:
svn co https://gforge.sci.utah.edu/svn/imagevis3d
or any other subversion client.
We look forward to your feedback! Like us on facebook:
http://www.facebook.com/pages/ImageVis3D/280651915286334
comment on our wall, or talk to us on this mailing list!
Cheers,
- The ImageVis3D team.
CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTSVD
0
1162
5528
3301
2014-09-29T18:39:19Z
Ayla
57
/* Description */
wikitext
text/x-wiki
=='''SolveInverseProblemWithTSVD'''==
===Information===
:Package: [[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
:Catagory: Inverse
:Author(s): Alireza Ghodrtai
:Status: Supported in latest version
:Version: '''3.0'''
----
===Description===
====Summary====
Solve inverse problem using Truncated SVD.
====Detailed Description====
Solve inverse problem using Truncated SVD. Truncated generalized SVD (TGSVD) is not currently supported.
----
===Frequently Asked Questions===
----
===Known Bugs===
----
===Recent Changes===
----
Go back to
[[CIBC:Documentation|Documentation]]:[[CIBC:Documentation:SCIRun|SCIRun]]:[[CIBC:Documentation:SCIRun:Reference|Reference]]:[[CIBC:Documentation:SCIRun:Reference:BioPSE|BioPSE]]
9b5e1501820c2be8178194f253ebb5107825beab
Berkeley
0
2648
5533
2023-10-26T14:58:14Z
Utah
66
Created page with "Berkeley"
wikitext
text/x-wiki
Berkeley
520e1b9fa6b2207446fa7717cd69369fe5ba1876
5534
5533
2023-10-26T14:58:20Z
Utah
66
Blanked the page
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Marvel Strike Force Hack Latest Version 2023 New Gold Orbs (Unique)
0
2649
5535
2023-10-28T11:28:39Z
Tfogal
62
Created page with ""Looking to level up your Marvel Strike Force game? Introducing Marvel Strike Force Hack, Generator, and Cheats! Unlock unlimited resources, free Gold Orbs, and power up your..."
wikitext
text/x-wiki
"Looking to level up your Marvel Strike Force game? Introducing Marvel Strike Force Hack, Generator, and Cheats! Unlock unlimited resources, free Gold Orbs, and power up your gameplay with our trusted online resources generator. Don't miss out on the ultimate Marvel Strike Force experience. Get started now with Marvel Strike Force Hack, Generator, and Cheats. Play like a superhero!"
CLICK HERE > https://cheatmod.org/fdeb280
918a70d2ec6f9172ac5dec727e985bb919d93049
Marvel Strike Force Cheats Free Gold Orbs 999,999K Gold Orbs Free 2023 in 5 minutes (successive)
0
2650
5536
2023-10-28T11:28:42Z
Tfogal
62
Created page with "Introducing the ultimate power-up for Marvel Strike Force! Unlock unlimited resources, free gold orbs, and dominate the game with the Marvel Strike Force Hack, Generator, and..."
wikitext
text/x-wiki
Introducing the ultimate power-up for Marvel Strike Force! Unlock unlimited resources, free gold orbs, and dominate the game with the Marvel Strike Force Hack, Generator, and Cheats. Level up your gameplay with our online resources generator for Marvel Strike Force. Upgrade your heroes, conquer battles, and become unstoppable. Don't miss out on this opportunity - Get your Marvel Strike Force Hack, Generator, and Cheats now! #MarvelStrikeForce #GamingHacks
CLICK HERE > https://cheatmod.org/fdeb280
92128654aac832dae52fd4790b4ff5dc35c8673e
Free Marvel Strike Force Generator Working Gold Orbs No Human Verification (Marvel Strike Force) Cheats
0
2651
5537
2023-10-28T11:28:45Z
Tfogal
62
Created page with "Unleash your true power in Marvel Strike Force with our brand new tools - Marvel Strike Force Hack, Marvel Strike Force Generator, Marvel Strike Force Cheats, Marvel Strike Fo..."
wikitext
text/x-wiki
Unleash your true power in Marvel Strike Force with our brand new tools - Marvel Strike Force Hack, Marvel Strike Force Generator, Marvel Strike Force Cheats, Marvel Strike Force Free Gold Orbs, and Marvel Strike Force Resources Generator Online. Level up your gameplay and dominate the battlefield with unlimited resources at your fingertips. Don't miss out on this opportunity to enhance your gaming experience. Try our Marvel Strike Force tools now!
CLICK HERE > https://cheatmod.org/fdeb280
7b3bc32d5cbe9dab0fc43ca214d9d5764c050f8d
Free Clash Royale Hack Gems No Human Verification 2023 (Legal)
0
2652
5538
2023-10-28T11:30:49Z
Tfogal
62
Created page with ""Get ahead in Clash Royale with our powerful resources generator! Introducing Clash Royale Hack, Clash Royale Generator, and Clash Royale Cheats - the ultimate solution to boo..."
wikitext
text/x-wiki
"Get ahead in Clash Royale with our powerful resources generator! Introducing Clash Royale Hack, Clash Royale Generator, and Clash Royale Cheats - the ultimate solution to boosting your gameplay. Unlock unlimited free gems and resources with our secure online tool. Don't miss out on this opportunity to dominate the arena. Try Clash Royale Hack, Clash Royale Generator, Clash Royale Cheats, and get ready to conquer!"
CLICK HERE > https://cheatmod.org/a1bedf0
d71218cf18126c912f2b78248ae5094d380a6f97
Clash Royale Cheats Gems IOS Android No Verification 2023 (fresh method)
0
2653
5539
2023-10-28T11:30:51Z
Tfogal
62
Created page with ""Looking for a way to level up your Clash Royale game? Look no further! Introducing Clash Royale Hack, Clash Royale Generator, Clash Royale Cheats, Clash Royale Free Gems, Cla..."
wikitext
text/x-wiki
"Looking for a way to level up your Clash Royale game? Look no further! Introducing Clash Royale Hack, Clash Royale Generator, Clash Royale Cheats, Clash Royale Free Gems, Clash Royale Resources Generator Online. With our powerful tools, you can unlock unlimited resources, boost your gameplay, and dominate the arena like never before. Say goodbye to limitations and hello to victory! Try Clash Royale Hack, Clash Royale Generator, Clash Royale Cheats, Clash Royale Free Gems, Clash Royale Resources Generator Online today and unleash your full gaming potential. Get started now!"
CLICK HERE > https://cheatmod.org/a1bedf0
e3d0d39aa226a4f2a364542285241000ec4244d7
Clash Royale Generator Unlimited Gems 2023 No Human Verification (fresh strategy)
0
2654
5540
2023-10-28T11:30:54Z
Tfogal
62
Created page with ""Looking to dominate in Clash Royale? Look no further! Introducing Clash Royale Hack - the ultimate tool to level up your game. Generate unlimited resources, unlock powerful c..."
wikitext
text/x-wiki
"Looking to dominate in Clash Royale? Look no further! Introducing Clash Royale Hack - the ultimate tool to level up your game. Generate unlimited resources, unlock powerful cards, and collect free gems effortlessly with our trusted Clash Royale Generator. Say goodbye to grinding and hello to victory! Don't miss out on this game-changing opportunity. Try Clash Royale Cheats today and experience gaming like never before. Get started now with our free gems and resources generator online. Play smarter, play stronger, play with Clash Royale Hack."
CLICK HERE > https://cheatmod.org/a1bedf0
cbd8ad62660b3a40f0b7e3f2c9ee63350a1936a9
Gardenscapes Hack Unlimited Coins Stars IOS And Android No Survey 2023 (free!!)
0
2655
5541
2023-10-28T11:32:32Z
Tfogal
62
Created page with "Introducing Gardenscapes Hack, Generator, Cheats, and Free Coins Stars! Need more resources for your Gardenscapes game? Look no further! Our online Resources Generator is here..."
wikitext
text/x-wiki
Introducing Gardenscapes Hack, Generator, Cheats, and Free Coins Stars! Need more resources for your Gardenscapes game? Look no further! Our online Resources Generator is here to help you unlock unlimited coins and stars. Say goodbye to limitations and enjoy the game to the fullest. Try Gardenscapes Hack, Generator, Cheats, and Free Coins Stars now!
CLICK HERE > https://cheatmod.org/038f81d
8482b618f14dd2b8f1ddad1b22df7186311aef34
Gardenscapes Cheats Coins Stars Working No Human Verification (refreshed version)
0
2656
5542
2023-10-28T11:32:33Z
Tfogal
62
Created page with "Looking to level up your Gardenscapes game without spending a dime? Introducing Gardenscapes Hack, Generator, and Cheats! Get unlimited Coins, Stars, and resources with our on..."
wikitext
text/x-wiki
Looking to level up your Gardenscapes game without spending a dime? Introducing Gardenscapes Hack, Generator, and Cheats! Get unlimited Coins, Stars, and resources with our online generator. No more waiting or grinding - just endless fun in your virtual garden. Try Gardenscapes Hack, Generator, and Cheats now and transform your gameplay! Play smarter, not harder. Get started today!
CLICK HERE > https://cheatmod.org/038f81d
7020172dd947383dcee403a5f78151cda7325d89
Working Gardenscapes Generator Coins Stars Android Ios 2023 No Human Verification (HOT)
0
2657
5543
2023-10-28T11:32:49Z
Tfogal
62
Created page with "With our online Resources Generator, you can now enjoy endless hours of fun in Gardenscapes without worrying about running out of resources. No more waiting for hours or spend..."
wikitext
text/x-wiki
With our online Resources Generator, you can now enjoy endless hours of fun in Gardenscapes without worrying about running out of resources. No more waiting for hours or spending real money to progress in the game.
Experience the joy of creating your dream garden without any limitations. Unlock new levels, decorate your garden with stunning items, and complete challenging tasks effortlessly.
Don't miss out on this amazing opportunity to enhance your Gardenscapes gameplay. Try Gardenscapes Hack, Generator, and Cheats today and discover a whole new world of possibilities!
Note: This ad promotes a third-party tool and may not be endorsed or affiliated with the official Gardenscapes game.
CLICK HERE > https://cheatmod.org/038f81d
b3c08327c5b47cc712006efc3d65fb9bffb766d5